WIP: Remote Collection

This introduces a `RemoteCollection` class, in similar spirit to the `ReferenceCollection`, `BranchCollection` and `TagCollection` APIs.

---

I think the only missing method that still needs to be moved before this can be merged is `RuggedCollection#rename`.