Extended Operations-API

This PR implements new operations, available through the recent libgit2 API (>v0.21.3).

- [x] Complete PushOperation

# Extensions to CloneOperation
Since we now have a common base for all remote operations (Fetch, Push and Clone). Let's make use of that and extend the CloneOperation:

- [ ] Implement git_repository_create_cb` callback to allow customizable repository settings.
- [ ] Implement `git_remote_create_cb` callback to allow customizable remote settings.