Introduce RemoteCollection.Rename.

Ready to merge on sight!
How about 

```
/// Delegate definition for remote rename failure callback.
```