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.
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
Introduce test for checkout case-changing rename
Always checkout with case sensitive iterator

On a case-insensitive filesystem, we need to deal with case-changing
renames (eg, foo -> FOO) by removing the old and adding the new,
exactly as if we were on a case-sensitive filesystem.

Update the `checkout::tree::can_cancel_checkout_from_notify` test, now
that notifications are always sent case sensitively.