Visual Studio 2003, 2005, 2008, 2010, 2012 support

Provides solution files for all the above versions of Visual Studio and ensures the product builds and tests pass on all of them.

The solution files were generated using CMake with CMAKE_SUPPRESS_REGENERATION set to TRUE, and then the extra CMake files were stripped out to make basic projects. However, this is why there are entirely separate projects for x64 and x86.