xsd-fu: Extend C++ support to generate headers and include guards

· Add GUARD property for include guards
· Add SOURCE_TYPE to distinguish between source and header output
. Source paths are relative to the output directory; this is to
  enable include guard generation
. Metadata output is a single target, rather than five separate
  targets

Testing: To ensure that the java code is unchanged, compare components/ome-xml/target and components/scifio/target before and after this change.  There should be no changes.  There's currently no code for C++ generation in the tree.  The C++ generation can be tested by looking at my xsdfu-cpp branch, and running ant in the cpp directory; you'll get gen/ome/bioformats/meta/MetadataStore.(cpp|h) which will contain different content (definitions vs declarations), and the header will have include guards.  Please ignore the rest of the mess that is this branch!--it's very much a scratch space.