Rationalize the WIN32 tests in CMake
Move compiler defintions to top of cmakefile
Fix more confusing WIN32 gunk in CMakefile