Introduce RemoteCollection.Rename.

Ready to merge on sight!
I agree, this is why the callback isn't "stoppable" (it returns `void`). It would optionally notify the user of refspecs that haven't been properly dealt with.