Commit diff convenience

Generating a series of a patches for a range of commits is a common operation i.e. ```git format-patch``` and ```git cherry-pick```. This adds ```git_commit_diff``` which is a convenience wrapper around ```git_diff_tree_to_tree``` where the ```old_tree``` parameter is fixed to one of the commit's parents.