Adding writeCopy() to Realm

The method `writeCopy()` writes the entire Realm to a new write. During the write, the data is compacted, and the resulting file is smaller. The method is useful when an app migrates to a new version, and it wishes to reduce the file size to a minimum.

@bmunkholm @cmelchior @emanuelez 
writeCopy is a very confusing name imo, also why do we do it to another file? What is the use case for that? From a user standpoint I would call this realm.compressFile() or something similar. While it might write an intermediate copy behind my back, that is an implementation detail.