Fix copying RLMObjects between Realms

This requires waiting to update the row accessor on the RLMObject until after all of the values have been copied, as otherwise the old values can't be read. Rather than requiring a temporary RLMObject, refactor the setters to take a Realm and a Row separately.

@alazier