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.
Merge branch 'hotfix/domains' of https://github.com/spicypixel/monobjc into spicypixel-hotfix/domains
Fix typo and add more comments.
Remove @autoreleasepool directive as a global pool already exists in `main.mm`.
Update tools.
Use a global Counter instead of a UUID: it is faster to compute.
Upgrade to Xcode 5.0.