This extra constructor will be useful for the annotated versions of ref-modifying functions, as it allows us to create a commit with the extended sha syntax which was used to retrieve it.
Rename git_merge_head to git_annotated_commit, as it becomes used in more operations than just merge.