Initial support for Veeco AFM data

Fixes ticket #4220.
Merge remote-tracking branch 'origin/develop' into veeco
Rename the Veeco reader to be in the correct component
First working run
Generate several samples
Playing with file extensions
Fixing filename typo
Resize box
Handles %Z and saves to multi files, messy names
Almost working filenames
Working apart from extra 0K file with no extension
Add some comments to ImageConverter.java
Cleaning up code
specification: Add Hdf5Data element

The intent is to add initial support for using HDF5 datasets in place
of TIFF IFDs.  Initially, the only property defined is the dataset
path, but Hdf5Data could be extended to support more advanced usage.

Allow use in place of TiffData or BinData in Pixels and Mask.
specification: Split TiffData out of ome.xsd and allow use in Mask

This will allow for moving out TIFF-specific elements and types into a
separate ancillary file, and will also permit the use of TiffData in
other places, i.e. in Mask.
spec: Fix TIFF import into ROI.xsd
Update JPEG-2000 reader to read tiles

This prevents the entire image from being loaded into memory, which is
necessary for supporting very large images.
JAI: do not set the source region if width and height are not defined
JPEG-2000: reduce memory required to read tiles
JAI service: ensure that MemoryCacheImageInputStreams are closed

This prevents memory leaks when reading many JPEG-2000 tiles in
sequence.