Add writing of .v3draw format for easy loading with Vaa3D.

Vaa3D (http://vaa3d.org ) is an open-source program for 3D
visualization and analysis of bioimage datasets.  .v3draw is a
minimalist format designed for rapid writing and reading with Vaa3D,
currently supported by Fiji for reading and writing.  This commit
provides .v3draw writing capability for bioformats.
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.
Correct issues brought up by @melissalinkert

See pull request for content. Most substantive change: V3DrawWriter
class now takes endianness of file from metadata and writes the .v3draw
file  with the same byte order as the input.
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