Add an exit test.
Add some more interesting tests.

The four_threads test helps to make sure that messages are going where
we expect them to.

The scale_test helps to make sure that locking mechanisms are likely
working, since this creates an environment that's likely to experience
some overlapping control variable accesses that would go badly without
properly-working locks.