Reflog completionism

I found some issues when writing https://github.com/libgit2/libgit2sharp/pull/612.

- [x] Add `signature` and `log_message` parameters to `git_repository_set_head`
- [x] Add `signature` and `log_message` parameters to `git_repository_set_head_detached`
- [x] Ensure that updating or creating HEAD updates the reflog properly
- [ ] Add `signature` and `log_message` parameters to `git_branch_create`
- [ ] Ensure that creating a branch updates the reflog properly