cpp: xerces: Simplify Xerces-C wrapping and add writer helpers

The base class now uses a std::shared_ptr with a custom deleter.
For managed types, the deleter calls the release member function
of the type.  For unmanaged types, the deleter is a no-op.  This
means the wrappers no longer need to be templates and so the
implementation is rather simpler than previously.  The other
change to the design is that the shared_ptr construction with
custom deleter is moved out of the base class and into the
top-level wrapper, allowing the behaviour to be changed, e.g.
for NodeList.

Update Document helpers to add utility functions for writing
Document and Node elements to strings, streams and files.
cpp: bioformats: Implement validateXML in XMLTools
merge develop -Dorg -Ssuccess-only: PR 1407 (TIFF: fix plane count calculation for pyramids with multiple planes)
merge develop -Dorg -Ssuccess-only: PR 1492 (Command line profiling)
merge develop -Dorg -Ssuccess-only: PR 1493 (Add a page that gives an overview of each repository component)
merge develop -Dorg -Ssuccess-only: PR 1497 (LZW: fix one more off-by-one)
merge develop -Dorg -Ssuccess-only: PR 1498 (Ant target reviews)
merge develop -Dorg -Ssuccess-only: PR 1499 (C++: XML validation, writing and wrapper cleanup)
merge develop -Dorg -Ssuccess-only

Repository: openmicroscopy/bioformats
Excluded PRs:
  # PR 1443 joshmoore 'Genshi ZIP' (label: exclude)
  # PR 1479 qidane 'Updated XSLT for units conversion' (exclude comment)
  # PR 1381 melissalinkert 'Parse physical pixel sizes from CellSens .vsi datasets' (label: exclude)
  # PR 858 melissalinkert 'Initial support for Veeco AFM data' (label: exclude)
  # PR 1015 qidane 'Messy binary' (exclude comment)
  # PR 1488 bjoernthiel 'Read up to stack version 5' (user: bjoernthiel)
  # PR 1161 sommerc 'Initial CellH5 Reader class' (user: sommerc)
  # PR 857 melissalinkert 'Initial support for Zeiss .lms files' (label: exclude)
  # PR 1177 rleigh-dundee 'specification: Add metadata for HDF5 embedding' (exclude comment)
  # PR 1309 melissalinkert 'Allow tile-based access of large JPEG-2000 images' (exclude comment)
  # PR 1426 qidane 'Initial Rendering Definitions schema' (exclude comment)
Updating b97e94a..b359bd1
Previously merged:
  # PR 1480 melissalinkert 'Imspector OBF: support version 5 stacks'
  # PR 1495 melissalinkert 'ImageJ: enable min/max calculation if any series contains float data'
  # PR 1489 sbesson 'Use Javadocs rather than source code links when possible'
  # PR 1442 bramalingam 'Update roi handler'

Merged PRs:
  # PR 1407 melissalinkert 'TIFF: fix plane count calculation for pyramids with multiple planes'
  # PR 1492 sbesson 'Command line profiling'
  # PR 1493 melissalinkert 'Add a page that gives an overview of each repository component'
  # PR 1497 melissalinkert 'LZW: fix one more off-by-one'
  # PR 1498 sbesson 'Ant target reviews'
  # PR 1499 rleigh-dundee 'C++: XML validation, writing and wrapper cleanup'

Generated by OME-5.1-merge-push#656 (http://ci.openmicroscopy.org/job/OME-5.1-merge-push/656/)