More reflogness

Turns out there are more APIs that can modify the reflog. This PR is intended to add reflog parameters (`signature, log_message`) wherever appropriate, *once and for all*.

- [x] `git_reset` and tests
- [x] `git_commit_create_from_ids` (currently passing `NULL, NULL` unnecessarily)
- [x] `git_remote_update_tips` and tests
- [x] `git_push_update_tips` and tests
- [x] `git_repository_detach_head` and tests

Feel free to add to that list if you think I missed something.