Suppress ld warning about compact unwind

"could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP
based frame"
Inherit Obj-C classes from ObjCObject

Also don't generate code for fake overrides which are present in the superclass
Obj-C metaclasses inheritance

Class objects of Obj-C classes inherit from the root class of the class of
which they're in. Because of this, a fake root class 'NSObject' was added to
the most of the resolve tests not to duplicate dat (otherwise class members
of the root class would appear twice, as declarations in the class and as fake
overrides in its class object).

There's no such thing as a class object of a protocol or a category, so don't
resolve them anymore (but still resolve metaclasses for protocols/categories,
since the latter may contain class methods)
Support built-in Obj-C types in return value position

id is now resolved as ObjCObject, SEL as ObjCSelector, Class as ObjCClass.

Native.objc_msgSend now is the only message-sending native method, and it
returns a NativeValue, instance of which is created in native code based on the
signature of the called method. Returned primitives are stored into
PrimitiveValue, which now has a few useful accessor methods.

Problem with BOOL resolving as id is fixed by including objc/objc.h, where it's
declared.

Also some actions were taken for tests to reduce used memory in tests
Minor, refactor Obj-C native codegen

Get rid of lots of "sendMessage" methods, doing the same thing. Now there's the
only objc_msgSend method which returns NativeValue which is casted now to the
needed type in the generated bytecode. This is probably less efficient but a
lot clearer and easier to maintain than lots of methods.

Also move Native to jet/objc/, get rid of the outdated jet/runtime/objc package
1