xsd-fu: Split fu.py into separate modules

The new modules live in the "ome.modeltools" namespace.
The static configuration in fu.py has been moved into
ome.modeltools.config.

The splitting also introduces a language class which
permits the support of multiple languages, removing the
existing largely hardcoded support for C++ and Java;
all language-specific logic is delegated to the language
class.
xsd-fu: Improve package/namespace support
Merge pull request #817 from rleigh-dundee/xsdfu-split

xsd-fu: Split fu.py into separate modules