curl_schannel.c: Reference count the credential/session handle

Reference counting the credential handle should avoid that such a
handle is freed while it is still required for connection shutdown
TODO-RELEASE: CURLSSH_AUTH_AGENT and curl_multi_wait() are done

-321 - CURLSSH_AUTH_AGENT patch by Armel Asselin

-324 - curl_multi_select() vs curl_multi_fdvec() etc
RELEASE-NOTES: synced with 6c6f1f64c2

6 bug fixes to mention, 5 contributors
MANUAL: clarified user+password in HTTP URLs
winbuild: Adjusted order of options to generated config name

Cleaned up order of handled build options by ordering them
nearly alphabetically by using the order of the generated
config name. Preparation for future/more build options.
winbuild: Added support for building with SPNEGO enabled

Since Simple and Protected GSSAPI Negotiation Mechanism
is already implemented in curl and supported by the MinGW
builds, this change adds build support to winbuild makefiles.
tool_metalink.c: Fixed validation of binary files containing EOF

Since Windows/MinGW threat 0x1A as the EOF character, reading binary
files which contain that byte does not work using text mode.
The read function will only read until the first 0x1A byte. This
means that the hash is not computed from the whole file and the
final validation check using hash comparision fails.
tool_metalink.c: Fixed error: 'O_BINARY' undeclared

Check for O_BINARY which is not available on every system.
nss.c: Fixed warning: 'err' may be used uninitialized in this function
libntlmconnect.c: Fixed warning: comparison of signed/unsigned integer

Windows does not use -1 to represent invalid sockets and the
SOCKET type is unsigned.
sws.c: Fixed warning: 'err' may be used uninitialized in this function
libntlmconnect.c: Fixed warning: curl_easy_getinfo expects long pointer

Fixed tests/libtest/libntlmconnect.c:52: warning: call to
'_curl_easy_getinfo_err_long' declared with attribute warning:
curl_easy_getinfo expects a pointer to long for this info
libntlmconnect.c: Fixed typo and conversion
tool_metalink.c: Added support for Microsoft Windows CryptoAPI

Since Metalink support requires a crypto library for hash functions
and Windows comes with the builtin CryptoAPI, this patch adds that
API as a fallback to the supported crypto libraries.
It is automatically used on Windows if no other library is provided.
Makefile.m32: Updated to build against libmetalink 0.1.2

The include and library path were moved within libmetalink, this
patch adjusts the defaults provided within the curl MinGW makefile.
md5.c: Added support for Microsoft Windows CryptoAPI
wincrypt: Fixed cross-compilation issues caused by include name

For some reason WinCrypt.h is named wincrypt.h under MinGW.
tool_metalink.c: Added name of validation hash to messages

This makes it easier to debug broken hashes or hash functions.
ssh: move the fingerprint checking code to a separate fnc
ssh: do not crash if MD5 fingerprint is not provided by libssh2

The MD5 fingerprint cannot be computed when running in FIPS mode.