Woolz: make sure the service is initialized when calling openBytes

If planes are being opened after initialization from a memo file, the service may not have been
set up.  This attempts service initialization any time the service is null during an openBytes call.
Add initial support for reading BinaryOnly OME-TIFF datasets

This adjusts the type detection slightly so that .companion.ome files
are detected as OME-TIFF, not OME-XML (as this makes finding and reading
the corresponding OME-TIFF files much easier).  Selecting either a
BinaryOnly OME-TIFF file or the corresponding companion OME-XML file
should result in the entire dataset being read.

Fixes #11951.
Catch NPEs when calling getBinaryOnlyMetadataFile
Ignore metadata files with a .tif/.tiff suffix

Some Prairie datasets contain "OME-TIFF" files with a BinaryOnly entry
that points to a different "OME-TIFF", which is not valid.
Fix bfGetReader for empty input

Convert isFake into anonymous function which is only called if an input
argument is supplied.

OME-DCO-1.1-Signed-off-by: Sebastien Besson <seb.besson@gmail.com> (github: sbesson)
Improve fake file detection

OME-DCO-1.1-Signed-off-by: Sebastien Besson <seb.besson@gmail.com> (github: sbesson)
Refactor bfGetReader input check

- First check for fake string
- Check for file existence using fileattrib()
- Remove unnecessary nargin==0 check

OME-DCO-1.1-Signed-off-by: Sebastien Besson <seb.besson@gmail.com> (github: sbesson)
Precise condition of lurawavelicense check

OME-DCO-1.1-Signed-off-by: Sebastien Besson <seb.besson@gmail.com> (github: sbesson)
ND2: ignore all blocks of image offsets except for the last one

Extra, possibly invalid, planes are sometimes stored before the first
true image in the dataset.  We now do what NIS Elements does, and ignore
everything except for the last continuous block of image offsets.

See
http://lists.openmicroscopy.org.uk/pipermail/ome-users/2014-July/004589.html
ND2: adjust default buffer size to speed up initialization

See http://trello.com/c/1ZClsqPU/42-nd2-performance
cpp: ome-bioformats: PixelBuffer uses MultiArray and multi-endian pixel types
cpp: Correct PixelBuffer includes
cpp: Correct PixelBuffer trigraphs
cpp: Add signed, floating and complex pixel properties
cpp: pixelbuffer test: Correct out of bounds array indices
cpp: Allow setting of PixelBuffer storage order from model DimensionOrder
cpp: PixelProperties: Add signed, floating and complex properties
cpp: Add additional VariantPixelBuffer methods
cpp: PixelBuffer Add initial binary stream I/O support

Add all the interfaces and operators.  Actual implementation and tests
are currently stubbed out.
cpp: Implement forwarding methods in PixelBuffer