Checkout

I wanted basic checkout possibilities. Ultimately my usecase is to check bare repositories out into a temporary directory, so I also wrapped git_repository_set_workdir.
This is very quick-and-dirty for now, many checkout-options are not implemented yet (because I want the checkout-opts to be a go-struct with go-types which needs this ugly conversion-function and I didn't want to waste the energy in thinking of the more complicateyd stuff until I'm sure the general direction gets accepted).

Feel free to comment.