Squashed 'deps/libgit2/' changes from 4c53489..9e49cb7

9e49cb7 Merge pull request #2613 from libgit2/rb/minor-cleanups
85fe63b Don't use cl_git_pass for POSIX functions
babbff3 Move un-namespaced constant to internal header
fd0f6d3 Merge pull request #2470 from libgit2/cmn/read-tree-cache
1b63af5 Update CHANGELOG and PROJECTS with the tree cache changes
7465e87 index: fill the tree cache on write-tree
795d8e9 index: make sure to write cached subtrees if parent is invalidated
c2f8b21 index: write out the tree cache extension
46bb006 tree-cache: remove the parent pointer
ee4db1c index: add tests for the tree cache
6843ceb index: fill the tree cache when reading from a tree
19c8831 tree-cache: move to use a pool allocator
d091a9d tree-cache: extract the allocation
a6ed1fc Merge pull request #2593 from libgit2/cmn/remote-delete-name
bab92a8 Merge pull request #2575 from cirosantilli/factor-struct-typedef
942a7b3 Fix test build
4c0c001 Merge pull request #2498 from linquize/read-large-file
33ca356 Merge pull request #2556 from sbc100/fix_warnings
2139c9b Merge pull request #2542 from linquize/fetch-head
a60d0f1 Merge pull request #2600 from libgit2/cmn/embed-ssh
9b36537 Merge pull request #2588 from swansontec/ssl-cert-path2
0625638 Merge pull request #2499 from csware/hard-reset-checkout-callbacks
f54d8d5 Merge pull request #2574 from csware/hostname-for-certificate_check_cb
533da4e Merge pull request #2473 from arthurschreiber/arthur/new-javascript-test-files
f339f44 Merge pull request #2603 from libgit2/cmn/revwalk-merge-base
bd62dc6 Merge pull request #2606 from arthurschreiber/arthur/align-git-remote-fetch
8e398e4 Treat an empty list of refspecs the same as a NULL value.
46a2b8e Merge pull request #2592 from libgit2/cmn/describe
994a300 Update the javascript diff driver's function pattern.
19fa9c0 New test files for the javascript diff driver.
324154a Merge branch 'anuraggup/git_filter'
5623e62 git_filter: dup the filter name
dfff1b5 Merge pull request #2599 from linquize/config-trailing-spaces
919e701 Merge pull request #2601 from SeijiIto/master
db3d169 Add tests for host names
8371457 Merge pull request #2597 from ethomson/fixup
eecc177 Fix an uninitialized variable
10cf4b2 Merge pull request #2448 from libgit2/cmn/reference-transaction
8be28ac Merge pull request #2462 from libgit2/cmn/remote-fetch-refs
c327d5d transaction: rename lock() to lock_ref()
8bd747c Merge pull request #2604 from arthurschreiber/arthur/add-merge-bases-many
917f85a Extract shared functionality.
eca07bc Add git_merge_bases_many.
d6afda6 revwalk: clear first-parent flag on reset
9b5d6ce revwalk: catch no-push and no-hide cases
e797057 revwalk: mark uninteresting only up to the common ancestors
ad66bf8 revwalk: keep a single list of user inputs
42835aa revwalk: clear the flags on reset
1892512 Fix README.md
3753110 Provide option to embed libssh2
a447a7e config: Add test cases that have trailing spaces before comment chars
0a64164 config: Fix multiple trailing spaces before comments not completely trimmed
7c9bf89 repository_head_unborn: clear error when HEAD is unborn
ca7cd17 p_mkdir != mkdir on win32
9f57fd6 Merge pull request #2594 from libgit2/vmg/hashsig
737b505 hashsig: Export as a `sys` header
737b445 Add support for setting the SSL CA location
5451754 Include git2/odb_backend.h in git2.h
44802c5 path: fix invalid access
262eec2 remote: accept a repository and remote name for deletion
274c3fa Add changelog for transactions
db2f826 transaction: add documentation
f99ca52 stash: use a transaction to modify the reflog
ab8d924 Introduce reference transactions
bdeb877 signature: add a dup function which takes a pool
20363d5 reflog: constify byindex
c5837ca remote: implement opportunistic remote-tracking branch updates
2cdd5c5 remote: store passive refspecs
c300d84 remote: don't DWIM refspecs unnecessarily
9c206a2 remote: use active refspec override in the tests
3f89420 remote: allow overriding the refspecs for download and fetch
a3b9270 describe: document the API
886710b describe: make mingw happy
25345c0 describe: rename git_describe_opts to git_describe_options
5431c46 describe: use globs in the tests
55f1b6b describe: implement abbreviated ids
fd8126e describe: implement describing the workdir
3b6534b describe: split into gather and format steps
1f501a0 describe: rename _object() to _commit()
af6cc38 Merge remote-tracking branch 'upstream/master' into cmn/describe
a2a2332 the wiki, it is dead
0628045 Join typedef and struct definitions in single file.
e6e834a Provide host name to certificate_check_cb
ccd8ba9 Fix warnings in thread-utils.h when building without -DTHREADSAFE=ON
8deea58 Add network::fetchlocal multi remotes test
f49819a When updating FETCH_HEAD, do not treat it as error if the remote of current branch is from another remote
c6ba8a3 Can read large file larger than 2GB on Windows
b8add6c Allow to propagate checkout callbacks to git HARD reset
3a728fb object: introduce git_describe_object()
4cc71bb tests: Add "describe" test repository
de1e81a oidmap: Enhance the khash wrapper

git-subtree-dir: deps/libgit2
git-subtree-split: 9e49cb7a4ba4f6961e3681cb59421cec04a50893
Merge commit '8894fd2f98cf083fcee5d03b1f078a93b1ed378a' into jacquesg/update-libgit2
Remote: Certificate callback now also receives the host
Upstream interface changes
Changes: update