check to see if we need all Windows compiler macros in preprocessor

This page http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system

Seems to say all we need is _WIN32 as it's defined on all Windows systems. This would make __CYGWIN32__ and __MINGW32__ redundant. Check to see this is the case