Squashed 'deps/libgit2/' changes from 013924c..d147900

d147900 Merge pull request #2759 from libgit2/cmn/openssl-sys
25a03d4 Merge pull request #2760 from libgit2/cmn/init-readme
c7d9839 Merge pull request #2763 from libgit2/cmn/local-proto-progress
0de26b7 Merge pull request #2767 from linquize/winpath
6afc0bf Merge pull request #2768 from dprofeta/fix/c++-refs
6987a58 Add more Windows reserved filenames
6fd0026 COM0 is a valid path, although Windows Explorer does not allow to create this
ceb651c Fix public header on sys/refs.h
629417b Fix ming32 compilation
ddf9d7d Merge branch 'hf/master_patch'
247b3f4 Merge remote-tracking branch 'origin/master_patch'
2842831 index tests: test capitalization before mkdir
c90ed5b Plug leaks
c679bf4 Create miscapitialised dirs for case-sensitive filesystems
dce7b1a treebuilder: take a repository for path validation
ec74b40 Introduce core.protectHFS and core.protectNTFS
8e35527 path: Use UTF8 iteration for HFS chars
11d67b7 checkout: disallow bad paths on HFS
ee5da72 reference_create: validate loose names
a64119e checkout: disallow bad paths on win32
0d388ad index: Check for valid paths before creating an index entry
6215525 tree: Check for `.git` with case insensitivy
cceae9a win32: use NT-prefixed "\\?\" paths
4fd2bda local: send 'counting objects' output
3ded7f2 local: add failing test for sideband information
ed09e04 Mention the init function in the README
5192bcc Add the OpenSSL  changes to the CHANGELOG
263b1d6 Make the OpenSSL locking function warnings more severe
09debe1 clar: wide character comparisons
3410084 tests: use p_ instead of posix func directly
4eb97ef Merge pull request #2756 from libgit2/cmn/push-error-concerns
85a6d5f push: reword comment on finish()
d524b2d push: fold unpack_ok() into finish()
cd305c2 Merge pull request #2678 from libgit2/cmn/io-stream
a2fd56a Fix a couple of compiler warnings
49ae22b stream: constify the write buffer
3b6a566 Merge pull request #2755 from libgit2/ntk/readme_appveyor_build
a7e06cb readme: Add AppVeyor build status badge/link
037b2a8 readme: Make Travis build status badge reflect the state of master
775d831 readme: Trim trailing lines
1b75c29 gitno: remove code which is no longer needed
4fd4341 ssh: use socket_stream to perform the connection
b6f5464 Port HTTP(S) to the new stream API
02b4c1e Port the TCP transport to the new stream API
0fae039 Merge pull request #2753 from ethomson/win32_leaks
468d7b1 Add an OpenSSL IO stream
dd4ff2c Introduce stackable IO streams
ad2bf40 winhttp: plug some leaks
6b11eb5 core::link test: clean up junction point name
80b01c8 win32: remember to free wide env name/value
c251f3b win32: remember to cleanup our hash_ctx
d508768 Merge pull request #2750 from linquize/generate.py
99cfe9b Merge pull request #2751 from linquize/broken-test-win
8e0aa2e Fix broken merge tests due to autocrlf was not false
d226fbf Fix broken test suite on Windows
3a1eb9e Update clar to e3985dd
19ae843 Merge pull request #2746 from libgit2/cmn/neg-ignore-dir
f2e09b8 Merge pull request #2748 from libgit2/cmn/doc-all
a295bd2 doc: add documentation to all the public structs and enums
e05b2ff ignore: match git's rule negation rules
e0a9741 ignore: adjust test for negating inside a dir

git-subtree-dir: deps/libgit2
git-subtree-split: d147900ea4756975effa6cb568f932a4e3eb698f
Merge commit '8ef5a7bcd1d1d02fc045d5b96ceed39dd7165885' into jacquesg/update-libgit2
Push.xs: Removed unpack_ok()
Tree/Builder.xs: Moved repository argument
Changes: update
Merge branch 'jacquesg/update-libgit2'