Switch TestBlock subclasses to decorated test generator functions.
Two small bugs in -v mode.
Casetype structs are now generated, and know how to print their initializers.
Revise test-block dispatch to allow overriding per-test processing.

This will mean, for instance, that we can reuse the "cstr" test table for tests
of C++ strings and things that can be converted to them.  In the process the
"tblock" objects become unnecessary.

Also, remove -DCOMPILER_NAME, which was not pulling its weight.
Add 'variant' test blocks that reuse an existing set of test cases.  Use this to test to-string conversion.
Test character formatting; as usual a couple of bugfixes in the now-tested code.

This required an overhaul of the "override_spec" mechanism, which is now
entirely isolated in the case printers.