Changed handling of empty series names in ND2 files

* Empty series names ("") result in the filename+series+seriesNumber
scheme being used
cpp: test: Set BIOFORMATS_SCHEMADIR when running tests
cpp: ome-xml: Automatically register schema catalogues
cmake: Generate wrapper to run programs in the build tree
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
add note about using mvn eclipse:eclipse

cc: @dominikl
use proper command markup
Add missing EOF newlines

This was accomplished using:

git ls-files \*.java | xargs sed -i '' -e '$a\'
Remove out-of-date source code links

This was performed using these tricks:

git ls-files \*.java | xargs sed -i '' -e '/\>Gitweb\</d'
git ls-files \*.java | xargs sed -i '' -e '/\>Trac\</d'
git ls-files \*.java | xargs sed -i '' -e '/\<dl\>\<dt\>\<b\>Source/d'
git ls-files \*.java | xargs sed -i '' -E -e '/^ \*$/ {N; s/^ \*\n( \*\/?$)/\1/; }'

Since the source files no longer have source links embedded,
this commit also removes the Perl source link checker script.

Edit: This commit actually does not remove the source links anymore,
since they were already removed in the meantime; see:

    https://github.com/openmicroscopy/bioformats/pull/1455

But the rebased commit is preserved here so the relevant sed commands
are still documented, in case something similar needs to be done in the
future.
Extend copyright year range to 2014

It was done with the following shell command:

    git grep -l 'Copyright (C) [0-9]\{4\} - [0-9]\{4\}' | \
    xargs sed -i '' -e \
    's/\(Copyright (C) [0-9]\{4\} - \)[0-9]\{4\}/\12014/'

The license-maven-plugin would normally do it for us. Unfortunately, it
cannot, because we have the canUpdateCopyright flag set to false, so the
update-file-header goal cannot update the copyright year range on files
with existing headers. The flag must be false because otherwise, it
would overwrite each file's copyright holders (we have a few files with
non-default copyright holders listed, which we want to preserve).

In the future, we could address the issue by contributing an enhancement
to license-maven-plugin that splits canUpdateCopyright into two parts:
canUpdateCopyrightYears and canUpdateCopyrightAuthors.
Add missing @Override annotations