Introduce RemoteCollection.Rename.

Ready to merge on sight!
Couldn't we rather pass `IntPtr.Zero` (rather than an empty callback) when the user doesn't want to be notified?

Grmpf... The callback doesn't seem to be as optional as it should be (cf https://github.com/libgit2/libgit2/blob/development/src/remote.c#L1450)

/cc @carlosmn