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 
Do we need to pass the ```create``` flag to RLMDynamicSet? Seems to me that things would work the same without it (calling addObject for linked objects rather than having to call create). Reason is that objects passed to create are converted to standalone objects when creating the validated array or dictionary, so I would think addObject would suffice.