Merge pull request #945 from rleigh-dundee/cpp-metadatamap

cpp: bioformats: Add MetadataMap class for original metadata
Merge pull request #949 from rleigh-dundee/cpp-clang-fixes

C++ fixes to work around clang++/libc++ bugs
cpp: bioformats: Add MetadataConfigurable interface
cpp: Add std::array checks and compatibility header
cpp: Abstract enum mapping types
cpp: enums allow runtime introspection of names and values
xsd-fu: Reindent C++ enum template

Conflicts:
	components/xsd-fu/templates-cpp/OMEXMLModelEnum.template
build: Use ISO-8601 release date and also add UNIX date

This makes the string machine parseable and the unix date
may also be used directly where needed.  Switch the use of
regex parsing of "git show" output with direct use of
"git log".
cpp: Add version header
cpp: Add bioformats Version module
cpp: Add bioformats PixelBuffer class
cpp: bioformats: Add FileInfo
cpp: bioformats: Add FormatHandler interface
cpp: bioformats: Add FormatReader interface
cpp: inline MetadataMap header-only methods
cpp: bioformats: Use MetadataMap
cpp: bioformats: Remove unneeded headers from FormatReader