http: Replaced specific SSL libraries list in https_getsock fallback
schannel: Added SSL/TLS support with Microsoft Windows Schannel SSPI
schannel: Allow certificate and revocation checks being deactivated
schannel: Check for required context attributes
schannel: Code cleanup
schannel: Save session credential handles in session cache
schannel: Implemented SSL/TLS renegotiation

Updated TODO information and added related MSDN articles
schannel: Added special shutdown check for Windows 2000 Professional

Windows 2000 Professional:  Schannel returns SEC_E_OK instead
of SEC_I_CONTEXT_EXPIRED. If the length of the output buffer
is zero and the first byte of the encrypted packet is 0x15,
the application can safely assume that the message was a
close_notify message and change the return value to
SEC_I_CONTEXT_EXPIRED.

Connection shutdown does not mean that there is no data to read
Correctly handle incomplete message and ask curl to re-read
Fixed buffer for decrypted being to small
Re-structured read condition to be more effective
Removed obsolete verbose messages
Changed memory reduction method to keep a minimum buffer of size 4096
sspi: Refactored socks_sspi and schannel to use same error message functions

Moved the error constant switch to curl_sspi.c and added two new helper
functions to curl_sspi.[ch] which either return the constant or a fully
translated message representing the SSPI security status.
Updated socks_sspi.c and curl_schannel.c to use the new functions.
schannel: Fixed critical typo in conditions and added buffer length checks
schannel: Fixed compiler warnings about pointer type assignments
schannel: Moved interal struct types to urldata.h

Moved type definitions in order to avoid inclusion loop
schannel: Added definitions which are missing in mingw32
schannel: Replace ASCII specific code with general defines
schannel: Updated mingw32 makefiles
curl_sspi: Added Curl_sspi_version function

Added new function to get SSPI version as string.
Added required library version.lib to makefiles.
Changed curl_schannel.c to use Curl_sspi_version.
schannel: Code cleanup and bug fixes

curl_sspi.c: Fixed mingw32-gcc compiler warnings
curl_sspi.c: Fixed length of error code hex output

The hex value was printed as signed 64-bit value on 64-bit systems:
SEC_E_WRONG_PRINCIPAL (0xFFFFFFFF80090322)

It is now correctly printed as the following:
SEC_E_WRONG_PRINCIPAL (0x80090322)

curl_sspi.c: Fallback to security function table version number
Instead of reporting an unknown version, the interface version is used.

curl_sspi.c: Removed SSPI/ version prefix from Curl_sspi_version
curl_schannel: Replaced static buffer sizes with defined names
curl_schannel.c: First brace when declaring functions on column 0
curl_schannel.c: Put the pointer sign directly at variable name
curl_schannel.c: Use structs directly instead of typedef'ed structs
curl_schannel.c: Removed space before opening brace
curl_schannel.c: Fixed lines being longer than 80 chars
configure.ac: Added -lversion if built with SSPI
sspi: Reworked Curl_sspi_version() to return version components

Reworked the version function to return four version components rather
than a string that has to be freed by the caller.
sspi.c: Post Curl_sspi_version() rework code tidy up

Removed duplicate blank lines.
Removed spaces between the not and test in various if statements.
Removed explicit test of NULL in an if statement.
Placed function returns on same line as function declarations.
Replaced the use of curl_maprintf() with aprintf() as it is the
preprocessor job to do this substitution if ENABLE_CURLX_PRINTF
is set.