Abstracted away some POSIX-isms that caused make to issue invalid commands on Windows. Added a new force-include for the test programs (C and C++) so that we can use platform-specific macros. I left uncaught_exception.h as is, since it's specific to C++.
TestSharedLib now builds and cleans up on Windows, though the test still fails some of the expectations. I want to deal with that later.
See my comments in test_common.h about having a -D COMPILING_TEST_DLL. This seems like a good place to do it.