Add ObjectiveCClassAttribute.IsNative to prevent managed registration

Native backed types must not be registered and must instead report !Class.IsMapped() && Class.Get() == null so that callers can determine available types at runtime.
Fix multi-domain support

Prevent cross-domain managed type sharing by appending '_Token' to all .NET classes registered by the bridge in multi-domain scenarios.

By default the first domain to register with the bridge does not mangle type names. Subsequent bridge bootstraps require a token. The token can be specified in the call to ObjectiveCRuntime.Initialize() or generated automatically for each domain by calling ObjectiveCRuntime.EnableAutoDomainTokens() prior to the first bootstrap.