Ordered MapPairs implementation

After feedback from the client developers, the contents
of the MapPairs class which was previously a string-string
map has been converted into a list of string-string pairs.

The `getMap()` method is now `getPairs()` and where possible
mutation of the contents is prevented, e.g. by making the
fields of MapPair immutable and using copy-constructors
rather than setters where possible.

Still slightly unclear is if the naming of the "map" is
correct now that it's no longer based on a hash map, and
whether the value of the MapPair will ever need to be anything
other than a string.
Fix copyright statement
Merge pull request #1450 from melissalinkert/png-memory

Reduce memory needed to open PNG images
Merge pull request #1431 from rleigh-dundee/specification-catalogue

Specification: Add XML catalogues for released schemas
merge develop -Dorg -Ssuccess-only: PR 1407 (TIFF: fix plane count calculation for pyramids with multiple planes)
merge develop -Dorg -Ssuccess-only: PR 1420 (Updating samples and adding units samples)
merge develop -Dorg -Ssuccess-only: PR 1435 (Ordered MapPairs implementation)
merge develop -Dorg -Ssuccess-only: PR 1441 (Fix OME-XML BinData decoding)
merge develop -Dorg -Ssuccess-only: PR 1442 (Update roi handler)
merge develop -Dorg -Ssuccess-only: PR 1444 (Update auto-generated documentation)
merge develop -Dorg -Ssuccess-only: PR 1448 (Metamorph: allow both sanitized and unsanitized delimiters)
merge develop -Dorg -Ssuccess-only: PR 1452 (Use __import__ for generateDS to handle FS case issues)
merge develop -Dorg -Ssuccess-only: PR 1453 (Fix mock object to match changes from int to double for channel)
merge develop -Dorg -Ssuccess-only

Repository: openmicroscopy/bioformats
Excluded PRs:
  # PR 1015 qidane 'Messy binary' (exclude comment)
  # PR 1437 stelfrich 'Changed handling of empty series names in ND2 files' (user: stelfrich)
  # PR 1426 qidane 'Initial Rendering Definitions schema' (exclude comment)
  # PR 858 melissalinkert 'Initial support for Veeco AFM data' (label: exclude)
  # PR 1161 sommerc 'Initial CellH5 Reader class' (user: sommerc)
  # PR 1365 ctrueden 'PrairieView 5.2 fixes and improvements' (label: exclude)
  # PR 1309 melissalinkert 'Allow tile-based access of large JPEG-2000 images' (exclude comment)
  # PR 1443 joshmoore 'Genshi ZIP' (label: exclude)
  # PR 1177 rleigh-dundee 'specification: Add metadata for HDF5 embedding' (exclude comment)
  # PR 1366 ctrueden 'Miscellaneous cleanup' (label: exclude)
  # PR 857 melissalinkert 'Initial support for Zeiss .lms files' (label: exclude)
  # PR 1381 melissalinkert 'Parse physical pixel sizes from CellSens .vsi datasets' (label: exclude)
Updating e7ddc61..d88f9f3
Previously merged:
  # PR 1431 rleigh-dundee 'Specification: Add XML catalogues for released schemas'
  # PR 1450 melissalinkert 'Reduce memory needed to open PNG images'

Merged PRs:
  # PR 1407 melissalinkert 'TIFF: fix plane count calculation for pyramids with multiple planes'
  # PR 1420 qidane 'Updating samples and adding units samples'
  # PR 1435 joshmoore 'Ordered MapPairs implementation'
  # PR 1441 melissalinkert 'Fix OME-XML BinData decoding'
  # PR 1442 bramalingam 'Update roi handler'
  # PR 1444 snoopycrimecop 'Update auto-generated documentation'
  # PR 1448 melissalinkert 'Metamorph: allow both sanitized and unsanitized delimiters'
  # PR 1452 joshmoore 'Use __import__ for generateDS to handle FS case issues'
  # PR 1453 jburel 'Fix mock object to match changes from int to double for channel'

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