branch: constness fixes
repo: remove test which deletes HEAD

This is not something anybody would ever do; removing HEAD makes the
.git/ directory no longer be a repository, so we wouldn't be expected to
handle such a situation.
refs: append to the HEAD reflog when updating the current branch

When we update the current branch, we must also append to HEAD's reflog
to keep them in sync.

This is a bit of a hack, but as git.git says, it covers 100% of
default cases.
Add a few projects to the list
Merge pull request #2191 from libgit2/cmn/projects

Add a few projects to the list
Merge pull request #2190 from libgit2/cmn/current-branch-reflog

refs: append to the HEAD reflog when updating the current branch
Seamless support for NTLM/Kerberos auth on Windows
Merge pull request #2192 from phkelley/development

Seamless support for NTLM/Kerberos auth on Windows
Implement git_merge_base_octopus
Merge pull request #2189 from Aimeast/octopus

Implement git_merge_base_octopus
Introduce git_merge_file for consumers
Add `git_merge_status` to provide info about an upcoming merge
Remove fastforward / uptodate from `git_merge`
Change signature of `git_merge` to take merge and checkout opts
Update git_merge_tree_opts to git_merge_options
Remove `git_merge_result` as it's now unnecessary
git_merge_status -> git_merge_analysis
Introduce GIT_MERGE_ANALYSIS_UNBORN