Raise a managed exception if the Class was not found during construction.

Previously the Id constructor might send a null pointer through SendMessage which was harder to debug.
Add support to configure the SDK version (assembly linkage).

This allows compilation using mscorlib v2 for example.
Raise exception for NULL domain.

A null domain can occur if mono_domain_get() is called on a thread unattached to a domain. This makes it easier to diagnose.
Register all ObjectiveCClass types in an assembly.

Previously only exported (e.g. public) types were registered. However, it is sometimes useful to register non-public Mono types with ObjectiveC for interop purposes while keeping the Mono type hidden from API consumers.
Workaround for Mono recursion bug when loading assemblies.

Some versions of Mono enter a recursive loop if accessing the assembly name or type from within AssemblyLoad. This works around that by specifically checking for mscorlib or System and aborting early.

This approach forces assembly loading. The iOS sim didn't load System.dll without it.
Merge branch 'hotfix/null-class-exception' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/null-class-exception
Merge branch 'feature/mono-sdk-option' of https://github.com/spicypixel/monobjc into spicypixel-feature/mono-sdk-option
Merge branch 'hotfix/register-all-types' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/register-all-types
Merge branch 'hotfix/null-domain-check' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/null-domain-check
Change the wording.
Merge branch 'hotfix/load-assembly-recursion' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/load-assembly-recursion
Remove unused import.