Check for SURROGATE defines individually.

In mingw32 cross environment on CentOS 6.4 IS_HIGH_SURROGATE is
defined, but not the START and END macros.
Add .gitignore
Add defines and enums for GSS key exchange.
Add support for GSS verify MIC.

For both UNIX and Windows.
Based on Matt Loar's code from https://github.com/mloar/putty
Add ssh_kexes for GSS key exchange.

For both UNIX and Windows.
Based on Matt Loar's code from https://github.com/mloar/putty
Move gsslib to global Ssh struct.

Prepare for GSS key exchange.
Add null host key implementation (RFC 4462, section 5).

When using GSS key exchange the server need not have an RSA or DSS
host key to authenticate itself.
Move gss_srv_name to global Ssh struct.

Prepare for GSS key exchange.
Init gsslibs before key exchange.

Also add can_gssapi to global Ssh struct, and rename locals in
do_ssh2_authconn() to *_gssapi_mic.

Prepare for GSS key exchange.
Break out ssh2_get_nbits().

Prepare for GSS key exchange.
Do GSS import_name before key exchange.

Prepare for GSS key exchange.
Make authentication gss_ctx global.

Prepare for GSS key exchange.
Add support for GSS-API key exchange.

Includes support for "null" host key algorithm and gssapi-keyex
authentication.

Based on Matt Loar's code from https://github.com/mloar/putty
Use 64-bit MIT Kerberos DLL on 64-bit builds.
Add 64-bit manifest, and use for 64-bit builds.
Make compilation work on MinGW64 < 2.0.2.

MinGW64 defines the PROPERTYKEY since at least version 1.0, but didn't
define PROPERTYKEY_DEFINED until version 2.0.2.
Allow 3:rd party builds to be properly versioned.