Squashed 'deps/libgit2/' changes from a32d684..4f9d541

4f9d541 refdb: fix typo and wording
e79a299 Merge pull request #2299 from mekishizufu/fix_leaks
7b8d564 Reset tests: Use sandboxed index
424222f Filter: Make sure to release local on error
8443ed6 Merge pull request #2284 from jacquesg/push-progress-callback
332e4f2 Merge pull request #2297 from libgit2/rb/status-with-precomposed-changes
2ad51b8 Merge pull request #2241 from libgit2/rb/stash-skip-submodules
af9eeac Merge pull request #2294 from ethomson/merge_checkout_strategy
6b833e3 Improve docs for status rename detection limits
f608f3b Test toggling core.precomposeunicode yields rename
2334e3d Test decomposed unicode renames work as expected
a409ace Handle explicitly ignored dir slightly differently
87c9b74 Merge pull request #2295 from libgit2/cmn/fetchhead-quote
bdc82e1 fetchhead: deal with quotes in branch names
a4e2c36 merge: checkout default shouldn't clobber given
26564d8 merge: default checkout strategy for should be SAFE
219c89d Treat ignored, empty, and untracked dirs different
212b620 Merge pull request #2291 from ethomson/patch_binary
5ca410b Merge pull request #2283 from phkelley/win32_fs
7110000 React to feedback for UTF-8 <-> WCHAR and reparse work
5b58d6f Merge pull request #2289 from libgit2/rb/note-git-diff-index-behavior
37da368 Make checkout match diff for untracked/ignored dir
e349ed5 patch: emit binary patches (optionally)
3c1aa4c Failing test for stashing a buried ignored file
24d17de Make stash and checkout ignore contained repos
e60883c Replace math fns with simpler integer math
8d09efa Use git_diff_get_stats in example/diff + refactor
12e422a Some doc and examples/diff.c changes
65477db Handle win32 reparse points properly
f70cfd3 Verify update_tips callbacks in push test cases
321d377 Fire update_tips callback also for pushes.
8b686b3 Correct argument order of git__calloc()
be6996b It is safe to free() a NULL pointer
48e60ae Don't redefine the same callback types, their signatures may change
98020d3 Rename progress callback to sideband_progress
4f62163 Check the return codes of remote callbacks.
9effa2f Fire progress callbacks also for pushes.
c2c8161 Win32: UTF-8 <-> WCHAR conversion overhaul

git-subtree-dir: deps/libgit2
git-subtree-split: 4f9d54146d569fffb679386fd3057e571afacd1f
Merge commit 'da07a1006c40707e14ba4e5f06b729409c3297d2'
Rename 'progress' callback to 'sideband_progress'
Upstream changes. git_diff_stats_to_buf now takes a width parameter