First step of adding 64bit support.

This includes using the vtable optimization.
Add support for instance variables.
Disable vtable dispatch for Objective-C methods.
Properly output metadata for classes.
Properly output string literals.
Properly output protocols.
Add missing override.
Fix linker error in the tests.
Compile Objective-C code both for 32 and 64bit.
Output properties.
Fix protocols for 32bit.
Fix test runner.
Refactor Objective-C implementation to use virtual methods.
Tabs to spaces.
Remove explicit alignment from symbols.
Ivar offset symbols should be global.
Add properties to protocols.
Fix property type encoding.
Implement non-fragile instance variables.
Only run tests for exceptions on X86 32bit.