wincng: Cleaned up includes and check NTSTATUS using macro

Removed header file combination that is not supported on a real
Windows platform and can only be compiled using MinGW. Replaced
custom NTSTATUS return code checks with BCRYPT_SUCCESS macro.
wincng: Added cast for double to unsigned long conversion
wincng: Fixed use of possible uninitialized variable pPaddingInfo

Reported by Bob Kast, thanks a lot.
openssl: Check for LIBSSH2_OPENSSL in order to compile with openssl
wincng: fix cross-compilation against the w64 mingw-runtime package
wincng: Made data parameter to hash update function constant

Initially reported by Bob Kast as "formal parameter must be const
since it is used in contexts where the actual parameter may be const".
Thanks a lot.
libssh2_priv msvc: Removed redundant definition of inline keyword

Initially reported by Bob Kast as "Remove redundant 'inline' define".
Thanks a lot.
win32: Added WinCNG targets to generated Visual Studio project

Inspired by Bob Kast's reports, this commit enables the compilation
of libssh2 with WinCNG using the generated Visual Studio project files.
This commit adds WinCNG support to parts of the existing Win32 build
infrastructure, until new build systems, like pre-defined VS project
files or CMake files may be added.

This commit and b20bfeb3e519119a48509a1099c06d65aa7da1d7 raise one
question: How to handle build systems, like VS project files, that
need to include all source files regardless of the desired target,
including all supported crypto backends? For now the mentioned commit
added a check for LIBSSH2_OPENSSL to openssl.c and with this commit
the supported crypto backends are hardcoded within Makefile.am.
libssh2.h: on Windows, a socket is of type SOCKET, not int
wincng.h: Added forward declarations for all WinCNG functions

Initially reported by Bob Kast as "Wincng - define function
prototypes for wincng routines". Thanks a lot.

Also replaced structure definitions with type definitions.
tcpip-forward.c: Removed unused variables shost, sport and sockopt
misc.c: Fixed warning about unused parameter abstract
wincng.h: Fixed warning about pointer targets differing in signedness
libgcrypt.h: Fixed warning about pointer targets differing in signedness
misc.c: Fixed warning about mixed declarations and code
tcpip-forward.c: Fixed warning that pointer targets differ in signedness

libssh2_channel_forward_listen_ex uses ints instead of unsigned ints.
wincng.c: Fixed warning about pointer targets differing in signedness
knownhost.c: Fixed warning that pointer targets differ in signedness
libssh2_priv.h: a 1 bit bit-field should be unsigned

some compilers may not like this
configure: Display individual crypto backends on separate lines

This avoids line-wrapping in between parameters and makes the
error message look like the following:

configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
 or --with-libgcrypt-prefix=PATH
 or --with-wincng on Windows