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.
the test is still present, it's basically equivalent to `assert(ArraySize(thing)==thingsize, "blah");` the variable isn't really being used, it only is input for sizeof()