ND2Handler: parse numbers defensively

Several numerical parsing methods throw NumberFormatException when
the input string is not actually a number. In particular:

* Integer.parseInt(String)
* Double.parseDouble(String)
* new Integer(String)
* new Double(String)

The ND2 handler parses a large number of string key/value pairs,
converting values into numbers in many cases. But in almost every case,
no error handling was done in case the input value was not a number.

This change adds a blanket try/catch for NumberFormatException around
areas that parse lots of numbers, emitting a warning for any
non-conforming key/value pairs. This allows parsing to continue,
hopefully resulting in a less fragile ND2 reader.

It also catches NumberFormatException separately within the nested
TextInfoItem parse loop, so that parsing of TextInfoItem entries fail
individually rather than all-or-nothing.

Note that this change is nearly all whitespace indentation; the easiest
way to view the "real" change is using "git show -b" on the commit.

Conflicts:

	components/bio-formats/src/loci/formats/in/ND2Handler.java
Split out SLF4J and log4j version props for Ant

This centralizes the SLF4J and log4j versions to a single place in the
Ant build system: global.properties.

Conflicts:

	components/ome-xml/build.properties
	components/specification/build.properties
	components/test-suite/build.properties
Split out SLF4J and log4j version props for Maven

This centralizes the SLF4J and log4j versions to a single place in the
Maven build system: the toplevel pom.xml.

Note that the Maven build system currently uses a different version of
log4j than the Ant build system does: 1.2.14 rather than 1.2.15. (For
those curious: the reason is that SLF4J 1.5.10 declares 1.2.14 as the
version of log4j with which it works.) In order to minimize changes,
this commit does not change that fact. But the next one will upgrade and
standardize the chosen versions across both build systems.
Upgrade SLF4J to 1.7.2 across the board

This also upgrades log4j to 1.2.17, which is the corresponding version
for that version of SLF4J.

The reason for the upgrade is to improve the behavior of SLF4J in case
there is no logger implementation binding present. Specifically,
starting with SLF4J 1.6, SLF4J defaults to a no-op logger when no
binding is present, rather than throwing NoClassDefFoundError. This is
much nicer for downstream consumers of Bio-Formats, since they do not
need to worry about always specifying an SLF4J binding as a dependency
in addition to Bio-Formats.
Revert "ND2Handler: parse numbers defensively"

This reverts commit bc60ab947416a9c15b6a8c9c011372395756be17.
Remove "Download from OMERO" from the plugin menu

See ticket #10770.
Metamorph: clean up image names for plate data
Metamorph: correct image names for multiple series per position
Metamorph: use the stage position index in the image name

...instead of the series index.
ND2: remove correction for lossless plane sizes

We now decompress a single lossless plane in setId to get the exact byte
count, so there is no need to adjust the plane size based upon the
compressed byte count.

Conflicts:

	components/bio-formats/src/loci/formats/in/NativeND2Reader.java
ND2Handler: parse numbers defensively

Several numerical parsing methods throw NumberFormatException when
the input string is not actually a number. In particular:

* Integer.parseInt(String)
* Double.parseDouble(String)
* new Integer(String)
* new Double(String)

The ND2 handler parses a large number of string key/value pairs,
converting values into numbers in many cases. But in almost every case,
no error handling was done in case the input value was not a number.

This change adds a blanket try/catch for NumberFormatException around
areas that parse lots of numbers, emitting a warning for any
non-conforming key/value pairs. This allows parsing to continue,
hopefully resulting in a less fragile ND2 reader.

It also catches NumberFormatException separately within the nested
TextInfoItem parse loop, so that parsing of TextInfoItem entries fail
individually rather than all-or-nothing.

Note that this change is nearly all whitespace indentation; the easiest
way to view the "real" change is using "git show -b" on the commit.

Conflicts:

	components/bio-formats/src/loci/formats/in/ND2Handler.java
fix link to ICS Opener plugin
Adjust available memory based upon the thread count
Merge pull request #716 from mtbc/rebased/develop/ics-opener-link

fix the ICS Opener plugin link (rebased onto develop)
fix SimplePCI links in documentation
Merge pull request #702 from melissalinkert/slf4j-update

Upgrade SLF4J to 1.7.2 (rebased onto develop)
Merge pull request #706 from melissalinkert/ticket-10770-develop

Remove "Download from OMERO" from the plugin menu
Merge pull request #700 from melissalinkert/nd2-defensive-parsing-develop

ND2Handler: parse numbers defensively
Merge pull request #709 from melissalinkert/nd2-develop

ND2: remove correction for lossless plane sizes (rebased onto develop)
ND2: only populate the channel color if it is non-zero

Setting the channel color to 0 (i.e. black) can prevent the images from
displaying correctly when the color-appropriate lookup tables are applied.