Repository.xs: merge_base() should fail if sv_isobject is false
Squashed 'deps/libgit2/' changes from bfc50f8..a32d684

a32d684 Merge pull request #2282 from libgit2/cmn/remote-easier-bind
bc0a619 transports: allow the creds callback to say it doesn't exist
2efd7df remote: provide read access to the callback structure
dac95e4 Merge pull request #2287 from libgit2/rb/moar-coverity-fixes
2e609e2 Merge pull request #2286 from libgit2/rb/fix-reset-staged-delete
17ef678 Fix some coverity-found issues
bd101a7 Fix reset for staged deletes
28750a7 Merge pull request #2275 from jacquesg/apple-warning
7839931 attrcache: fix use-after-free
a15d353 sysdir: free the path if we cannot find the file
5c8d5ea Introduce AddCFlagIfSupported CMake macro
364ef52 Only disable deprecation warnings on Apple for OpenSSL
c6cd3f8 Use CHECK_C_COMPILER_FLAG to determine if the compiler supports a flag
48ce93e Fix inconsistent use of lower-case and upper-case names for macros

git-subtree-dir: deps/libgit2
git-subtree-split: a32d684f866e7710fd139d69ad5d1a8d0ae527c4
Merge commit '82cb44147f6385a19ffa4ffc5042e9d3eecb7488' into branch-granularity
Repository.xs: Allow branches() to return a specific type of branch
Repository.pm: Fix commit() documentation
Repository.xs: Check type for new working directory in workdir()
Use a different counter for counting and iterating

Some values may be undefined, resulting in an infinite loop.
Repository.xs: Added is_head_detached()
Changes: update
Repository.xs: tree parameter to diff() may be undefined
Changes: update
Raw.xs: Added more diff flags
Changes: update (closes #86)
Merge branch 'branch-granularity' of github.com:jacquesg/p5-Git-Raw into jacquesg-branch-granularity
Changes: update (closes #85)
Branch.xs: Added upstream_name() and remote_name()
Branch.xs: upstream() should return undef if there isn't one.

The created reference should also take the repository in as magic,
seeing that Git::Raw::Reference -> target() requires it via git_obj_to_sv().
Changes: update