cpp: xerces: Generalise DOM class wrapping

- Wrapper class template wraps all DOM types
- Base class template is the root of the wrapper hierarchy
  and can be managed or unmanaged depending upon whether
  the wrapper should be responsible for releasing of the
  wrapped value.
cpp: xerces: Correct stray space in Document wrapper
cpp: xerces: Add minor fixes and tests of the DOM wrappers
cpp: xerces: Add createEmptyDocument helper
cpp: xerces: Update tests
cpp: xerces: Improve raw pointer construction for Document and Element