Introduce RemoteCollection.Rename.

Ready to merge on sight!
So we use callbacks on a foreach we do internally, right?