Introduce Rugged::RemoteCollection.

This adds a RemoteCollection class, that exposes a similar API as e.g.
ReferenceCollection and others.

Repository#remotes now returns an instance of RemoteCollection.
Switch the tests over to the new RemoteCollection API.
Documentation updates.
Remote: Make the tests run inside a sandboxed repo.
Remote: Add `Rugged::RemoteCollection.delete`.
Merge pull request #378 from libgit2/arthur/remote-collection

WIP: Remote Collection