The entry point 'cmdtest_in_dir' now accepts and passes on arguments
that optionally specifies which tests to be run. This can be done on file
level, class level and method level.
As the list of optional named arguments is quite long, they are now
keyword arguments.
Certain commands are likely to fail to terminate in case something goes
wrong. Having the ability to force such commands to terminate after a
certain time is useful.
In the Python version, preserve the work directory in
work-save/class_name to make it possible to examine it
afterwards. Before running tests, remove the entire old work-save
directory hierarchy to ensure we only leave those behind that actually
are relevant.
Added cmdtest_in_dir(path) to allow Python cmdtest to be used as part of
another Python script. Factored out most of the functionality from
main() to the common function test_files().