Include username in each credential type

Key-based authentication also needs an username, so include it in each
one.

Also stop assuming a default username of "git" in the ssh transport
which has no business making such a decision.
CMake: finding libssh2 should be idempotent

With the current code, running 'cmake .' in an already-configured
directory causes the removal of ssh flags passed to the compiler,
making it impossible to build with ssh support but by removing CMake's
cache.

Remove the check for LIBSSH2_LIBRARY and let CMake do the right thing
wrt finding the library.
Merge pull request #1775 from libgit2/ssh-default-user

SSH username fixes