Use _WIN32 instead of WIN32 to check for Windows

MinGW defines both _WIN32 and WIN32 (and may even be the only compiler
doing so). Microsoft and Intel compilers only define _WIN32. Use the
common one to eliminate the need in defining WIN32 explicitly.
Move getdefaultgateway() fallback to bottom

Transform `if/endif/.../if/endif` chain into `if/elif/.../else/endif`
and move fallback getdefaultgateway implementation to the bottom. This
also fixes compilation issues on platforms using the fallback since
its signature includes argument of `in_addr_t` type, and the type itself
is only defined in "getgateway.h" (unless provided by <netinet/in.h>)
which is only being included *after* the function declaration.

Also fix compilation error on Windows where <winsock2.h> should be
included to use inet_addr function.
Merge remote branch 'mikedld/win32-macro'

Conflicts:
	declspec.h
	msvc/libnatpmp.vcproj
	msvc/natpmpc-static.vcproj
	natpmp.h
Merge remote branch 'mikedld/move-getdefaultgateway-fallback'

Conflicts:
	getgateway.c