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] Test that updating or creating HEAD updates the reflog properly
- [x] Add `signature` and `log_message` parameters to `git_branch_create`
- [x] Test that creating a branch updates the reflog properly
- [x] Add `signature` parameter to `git_clone_options` and `git_clone_into`
- [x] Test that cloning updates the reflog properly
- [x] Reflog params for `git_branch_move` (+tests)
- [x] Add `signature` and `log_message` parameters to `git_reference_rename` (+tests)
- [x] Branch API has reasonable default log messages