Changed handling of empty series names in ND2 files

* Empty series names ("") result in the filename+series+seriesNumber
scheme being used
PrairieReader: remove unused import
PrairieMetadata: fix critical errors

This change fixes several metadata parsing bugs:

1) The relevant XML element is called "SubindexedValue", not
   "SubindexValue". Without this change, subindexed values are never
   read correctly, so e.g. X/Y/Z stage positions are not parsed.

2) The loop variable for subindexed values is "s", not "i".
   Without this change, an NPE is typically thrown during the
   SubindexedValues parsing loop.

3) Subindexed value table should be indexed on subindex, not index.

4) Parsing of subindexed values from old-style XML (<Key> elements)
   did not add the parsed subindexed value table to the data structure.
Add unit tests for PrairieMetadata

These tests are by no means complete, but do provide regression tests
for the bugs fixed in the previous commit.
OMETiffReader: remove unused import
OMETiffReader: support BinaryOnly OME-TIFF refs

This commit changes the behavior of the OME-TIFF reader to support
extraction of OME-XML metadata from an OME-TIFF reference via the
BinaryOnly MetadataFile attribute.

According to a38bd0770eff839f2daf0289b10e5c6ae76afd5c, the BinaryOnly
MetadataFile is only supposed to reference an OME-XML document, not an
OME-TIFF file containing an embedded OME-XML document.

But according to the OME-TIFF specification [1], it is valid to
reference such an OME-TIFF.

Since supporting it is easy and very useful and already documented,
let's go ahead and do it!

[1] https://www.openmicroscopy.org/site/support/ome-model/ome-tiff/specification.html#storing-partial-metadata-blocks
PrairieMetadata: clarify method purpose in javadoc
PrairieMetadata: add API to access wavelengths
PrairieReader: populate emission wavelengths

The Prairie XML records the channel emission wavelengths, so
let's populate the OME-XML with that information as appropriate.
PrairieMetadata: activate all used channels

This makes spectral PrairieView datasets work as expected.

Previously, the reader only activated channels specifically flagged as
active in the Prairie configuration metadata. This was fragile for two
reasons:

1) The Prairie configuration metadata is subject to change
   (and in fact did change once already, from CFG to ENV).

2) PrairieView 5.2 added support for spectral datasets, where the active
   channels metadata no longer accurately reflects the actually active
   channels. Instead, the active channels are meant to be gleaned from
   the "channel" attribute of each <File> element present in the XML
   metadata.

With this change, all channels that are actually used (i.e., which
actually have one or more associated <File> elements) will affect the
final dimensional structure of each Image.
PrairieMetadata: add API to query spectral mode
IM3: replace tabs with spaces and remove trailing whitespace
IM3: close file handles and make internal classes static

This is necessary to make automated tests pass on .im3 files.
Fix writing of tiff description

toCharArray() is the same as getBytes('UTF-16BE')
This leads to have unicode for units not being
correctly encoded.
Add test checking that the reader used is the OME-TIFF reader.
Merge remote-tracking branch 'origin/develop' into im3

Conflicts:
	components/formats-bsd/src/loci/formats/in/IM3Reader.java
Add doc.
Prevent potential NPEs when close() is called
Add bash script for updating copyright headers

This script is largely inspired from a Request from Curtis Rueden and should
be called with a positional argument equal to the current year, e.g.
$ bash tools/update_copyright 2015
NDPI: ignore marker tags if we have reason to believe they are incorrect

This prevents the marker values from being read incorrectly, at the
expense of a slightly longer initialization time.