Find libssh2 via pkg-config

We don't really need our own module to find libssh2. Using pkg-config
lets the standard tool do the work for us and let us fit more naturally
in the workflow as we respect the pkg-config search paths.
Make the OpenSSL locking function warnings more severe

Our git_openssl_set_locking() would ideally not exist. Make it clearer
that we provide it as a last resort and you should prefer anything else.
Add the OpenSSL  changes to the CHANGELOG

It seems these were forgotten when initially splitting this up.
Mention the init function in the README

This fixes #2731.
local: add failing test for sideband information

We do not currently generate any messages when we're counting the
objects, as might be expected from a local upload-pack. Assert that we
do call the function when working.
local: send 'counting objects' output

Pretend we have a git process at the other end by creating a similar
progress output when inserting objects into the packbuilder.
Fix public header on sys/refs.h

GIT_BEGIN/END_DECL were missing from sys/refs.h and preventing
compilation with g++ as the symbol were mangled.
COM0 is a valid path, although Windows Explorer does not allow to create this
Add more Windows reserved filenames
Merge pull request #2768 from dprofeta/fix/c++-refs

Fix public header on sys/refs.h
Merge pull request #2767 from linquize/winpath

More Windows Path checking
Merge pull request #2763 from libgit2/cmn/local-proto-progress

Show progress output on fetch for the local transport
Merge pull request #2760 from libgit2/cmn/init-readme

Mention the init function in the README
Merge pull request #2759 from libgit2/cmn/openssl-sys

Make OpenSSL locking warnings more severe
Merge pull request #2745 from libgit2/cmn/pkg-config-ssh

Find libssh2 via pkg-config
cmake: include FindPkgConfig for windows

Apparently FindPkgConfig is not included by default on VS builds,
only Unix and Unix-like (mingw) builds.
Merge pull request #2773 from ethomson/findpkgconfig

cmake: include FindPkgConfig for windows
index: reuc and name entrycounts should be size_t

For the REUC and NAME entries, we use size_t internally, and we take
size_t for the get_byindex() functions, but the entrycount() functions
strangely cast to an unsigned int instead.
Merge pull request #2775 from ethomson/index_entrycounts

index: reuc and name entrycounts should be size_t
Introduce test for checkout case-changing rename