Make CMake build usable for other systems

The existing cmake build only works for Windows + visual studio (but still requires cygwin installed at the normal cygwin path), and not other systems. This makes it usable for others.

I've also made it so that it can be dropped into another project's cmake build system and it should just work as a subproject.

I've tested it with:
Linux x86_64 + GCC, Clang, ICC, SunPro
OS X: GCC, Clang
Windows: MinGW 32, MinGW 64, MSVC 32, MSVC 64, Cygwin
FreeBSD: GCC


There's at least one part that is removed / disabled from the original. It appears the original cmake build supported building multiple versions against multiple MSVC versions. I'm not sure how this part worked, but it caused the most worthless error when generating the installer. It looks to me like it was using features that are supposed to be used when running cpack separately from cmake, so I'm not sure how it was ever working.