Re #9118. Remove unused code.
Re #9118. Update test to use factory in way I expect it to end up.

Obviously, this won't compile until I've refactored the class itself.
Re #9118. Remove unused inclusions of IMDDimensionFactory.
Re #9118. Refactor and greatly simplify IMDDimensionFactory.

It's no longer a class, just 3 non-member functions that create
an IMDDimension object (actually an MDHistoDimension object, as before)
given an input XML string or a Poco::XML::Element.
It no longer retains ownership of any Poco::XML object, which will allow
me to handle the previously unreleased memory issues.
Re #9118. Fix narrowing conversion compiler warning the long way.

Rather than resorting to a static_cast, it seems like the method over on
the VATES side should be returning a coord_t (float) to align it with
the IMDDimension that it relates to.
Re #9118. Correct tests to fix builds.
Re #9118. Protect against malformed XML.

I added a bunch of tests for the XML string not being as expected and
then refactored the code to protect against that.
Merge remote-tracking branch 'origin/feature/9118_simplify_imddimensionfactory'