Introduce RemoteCollection.Rename.

Ready to merge on sight!
Maybe should we prefix the type name with `Remote` as I don't think we may reuse it later for other purposes?