cpp: ome-xml: Add ModelException

The Java implementation throws a RuntimeException, which was being
mapped to a C++ std::runtime_error.  This adds a ModelException
class derived from std::runtime_error so it's possible to distinguish
model errors from other generic errors.
xsd-fu: cpp: Make model object arguments more specific
xsd-fu: cpp: Remove todo items

These are items which are either not valid or are not doable.
xsd-fu: cpp: Remove additional todo items
cpp: ome-xml: OMEModelObject compare_element is strictly const
cpp: bioformats: Correct description of UnsupportedCompressionException
cpp: Document detail namespaces
cpp: bioformats: Replace image_size_type with dimension_size_type

image_size_type was redundant since the image indexing is a
combination of the dimensions all using dimension_size_type.
Using dimension_size_type for everything is simpler and more
consistent.
merge develop -D org: PR 857 (Initial support for Zeiss .lms files)
merge develop -D org: PR 858 (Initial support for Veeco AFM data)
merge develop -D org: PR 981 (Ignore namespaces when filling in an XMLAnnotation's Value)
merge develop -D org: PR 983 (Woolz: make sure the service is initialized when calling openBytes (rebased onto develop))
merge develop -D org: PR 985 (Updating transform catalog for 2013-10-dev-1)
merge develop -D org: PR 990 (Memoization fixes (rebased onto develop))
merge develop -D org: PR 991 (Only add a MetadataOnly element if no TiffData elements are present)
merge develop -D org: PR 999 (Fix for single channel  meas_mode 13 data (rebased onto develop))
merge develop -D org: PR 1001 (New time docs and samples)
merge develop -D org: PR 1004 (Update docs regarding BF and Eclipse (see #12127). (rebased onto develop))
merge develop -D org: PR 1005 (ND2: always set the field index to 2 (rebased onto develop))
merge develop -D org: PR 1006 (Read internal pyramids from CellSens .vsi data (rebased onto develop))