Reference data tests by name

In dfutil, determine the function to execute for a test by looking
through the TestGroup/TestCase structures using the newly-added
utlookup() function, instead of having direct references to the test
functions from within dfutil itself. This allows us to make the test
functions internal to the library itself, and provides a more scalable
means of adding new tests (we don't need to modify dfutil/dftest each
time).

All test functions invoked from dfutil are now static within the files
they're defined in; references to them can only be obtained via the
TestGroup structures.

The names used in the *.test data files have not been changed; they
still use a rather haphazard naming scheme, instead of the
module.testname system we use now. For example, some of the Word tests
reference Word_testCreate, which is now accessed as ooxml.word.create
(that is, the "create" function in the "ooxml.word" group). Until we
change the *.test data files, we use a substitution table which knows
the old name of each function, and uses it to look up the new name.
Use dotted notation for function names in *.test

In the *.test data files, the first line of the file (after comments)
indicates the test function to execute. Instead of the old, haphazard
naming convention, we now use the form module.testfunction, where the
module can contain further dots, e.g. ooxml.word.get.

This was already in place from the previous commit but the *.test files
still referenced the old names, necessitating the use of a substitution
mechanism. The files all now use the new naming scheme, and the
substitution mechanism has been removed.