Remove TestCase class, replace with ut* functions

Instead of each 'data' test requiring an instance of the TestCase class
to be created and passed as a parameter, call the (newly-added) function
utsetup(), followed by utdeardown() at the end. This just stores the
information needed by the test in global variables rather than an
object, which allows us to keep using functions with no parameters for
data tests, so they can have the same signature as 'plain' tests (see
DFUnitTest.h for description of the two types).

The following functions can be called during execution of a test case to
obtain information:

    utgetpath() - Directory containing the test file (relative to which
                  include commands in text packages should be resolved)

    utgetdata() - A hash table containing entries from the data file

    utgetargc() and utgetargc() - Arguments to the test function, taken
                  from the first line of the data file

    utgetoutput() - The DFBuffer object to which output should be
                  written. This is compared with the expected output.
Move test functions into DocFormats library

Move the implementation of all data test functions from dfutil into
files in the 'test' directories of the various modules, such as core and
ooxml.

Support functions like those used to retrieve a HTML file or Word
document from the plain text representation in the data file have
similarly been moved.