cpp: Add bioformats FormatException and derived classes
cpp: Add bioformats MetadataOptions class
fix: nothrow for exceptions dtors
cpp: Add Metadata class
xsd-fu: Add C++ metadatastore templates
cpp: Update build
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.