Improve bindings

I'm working through https://libgit2.github.com/docs/guides/101-samples/. A lot of work is still needed.
I don't know, because we don't return a `<git-commit*>`, but a `<git-oid*>`.  make should be another function.