Non-package module should load swiftinterface instead of
binary module with PackageCMO enabled.
If the binary module optimized with Package CMO is loaded for
a non-package client module, the client module does not
understand the serialized content of the optimized binary
module because it contains attributes and instructions specific
to the optimization, i.e. [serialized_for_package] definition
that contains operations on non-loadable types that are normally
not allowed. This can cause an assert or a crash in SIL verifier.
This PR checks whether the optimized binary module and the client module
are in the same package, and require loading swiftinterface module
if not.
Resolves rdar://134584629