That struct looks pretty good. For the basic version (i.e. `git_clone`) all you should need to provide is how to tell you about progress and what branch to checkout. I think we might want to add a flag saying whether we want to ignore SSL errors.