Don't allow passing persisted objects to -[RLMRealm addObject:]

This didn't work correctly if the object was persisted in a different Realm (it just created an empty row rather than copying it), and `createInRealm:withObject` is a much better way to support copying objects between Realms as it doesn't involve a method doing something very different from what it normally does.

This also changes the semantics of `createInRealm:withObject:` a little: the passed object is now never mutated, while previously linked RLMObjects were added with `addObject:`, which would turn standalone RLMObjects into accessors.

@alazier 
The two bool flags is definitely ugly, but I think checking realms in RLMValidatedObjectForProperty is also ugly, and an extra deep copy when copying objects between realms is worse than no extra deep copy. I'd prefer to find a way to eliminate building up the dictionary entirely, as it is a pretty significant portion of the insertion runtime...

Do you think using enums for the creation options would help?