add Test.assertTrue, assertFalse. refactor structure of tests

This allow multiple, heterogeneous test suites to be concatenated
together and run as a single suite. For instance mixing equality tests
where the types differ, and mixing equality tests with boolean
assertions.

I really hope there's not much of this yak left to shave...