Fix compilation on Windows (MinGW-w64)

Windows.hpp did some funky stuff about conditionally including components from Windows.h. To be honest, this is completely unnecessary (e.g see [here](http://blogs.msdn.com/b/oldnewthing/archive/2009/11/30/9929944.aspx)), and causes more issues than what's saved in compilation time.

For example, it complained that `CCHFORMNAME` was missing because of those conditionals.

Additionally, it appears that including mstcpip.h on MinGW-w64 does not work, with it complaining that `'IN6_ADDR' does not name a type`. It doesn't appear to be a required header though, since it compiles fine without including mstcpip.h.

Finally, Winsock2.h must be included before Windows.h, to avoid a warning (-Werror?) that stops compilation.