Support subclassing RLMObjects

Does not support polymorphic behavior.

@tgoyne 
Checking the class doesn't work as we have accessor classes. After an object is added to a realm, we could check that the target table index is equal to the table index of the object being inserted. That would avoid objc but would require a few method calls.