Introduce merge.ff configuration handling

When the provided FastForwardStrategy is FastForwardStrategy.Default,
honor the merge.ff configuration setting.  When merge.ff=only, enable
fast-forward only mode; when merge.ff=false, enable no-ff mode.
Remove conflicts in Index.Remove
Refactor Constants.PrivateRepoCredentials
Restore old Credentials API as Obsolete
repo.Reset() renamed items correctly
repo.Unstage() renamed items correctly
git_strarray marshaling improvements
Handle tags that do not have a tagger.

Not all tags have a tagger. For example, the v2.6.11 tag on the linux repository does not have a tagger. For these cases, return null for the Tagger property on a tag annotation.
Update logic in Proxy to re-use taggerHandle
FastForward merge should block if there are checkout conflicts.

Currently, if there are changes in your working directory and
a fastforward merge would update those files, the checkout
that is performed as part of the fast forward will skip over
these files. This change fixes and adds regression tests around
this behavior.
Update binaries to 091165c

https://github.com/libgit2/libgit2/compare/e93206e...091165c
Fix for osx CI script