Much improved internal implementation, and show usage

The internals now support arbitrary logging levels according to the
%level_map global.  It can also be subclassed much more easily, with
new internal class methods _build_logging_methods and
_build_filtered_subclasses.

One new feature is that TAP output now begins with a note about the
environment variables that control log filtering, which should be
useful any time someone looks at a test case without prior knowledge
about Log:...:TAP.  This can be suppressed with TAP_LOG_SHOW_USAGE=0.
Added testcase to look for warnings emitted during init