Add Repository.merge_commits()

This allows you to merge arbitrary commits, returning an index, which is
useful when dealing with bare repos in which we want to merge.

---

I don't need to use the options in my use-case at the moment, but the structures are there in case anybody does want to add them.