Reorganized unit test suite

We now have a test assembly for each platform, and code is shared
in the different projects.