Provide a way to build and run unittests on Windows

UnitTests have been integrated into msbuild as a standalone project which is compiled by default, but not run. The tests can be run as you would normally run an output binary from VS, or you (or the buildbot) can pass `/p:RunUnitTests=true` to `msbuild`.
Note that the tests are currently failing on windows :)
In order to add more tests, you only add files under UnitTests directory, no modification to the msbuild files should be required.
It's compile time only. If you look at the test output, these actually occur before `Running main() from gtest_main.cc`. Kinda nifty.