Cellomics: a few fixes for single-file datasets

This allows the field to contain either 2 or 3 digits, and fixes the
image name setting so that field/well indices are not 0.
Cellomics: fix reading of directories with mixed o/d channels

The channel letter for the initial file is respected now, instead of
allowing any file with a matching name.
One more fix for channel file grouping
CZI: make sure that SubBlocks are correctly initialized in openBytes

Fixes #11958.

This also fixes an interleaving bug with one of the files in
test_images_good.
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
cpp: bioformats: Use MetadataMap key_type typedef in public interface