MetadataTest: switch to JUnit

Running TestNG tests in Eclipse is a real pain. Let's use a framework
that actually works out of the box.

Note that this conversion exposed at least one lurking bug in the unit
tests: a test method with "expectedExceptions" is throwing its
exception _before_ the comment in the source says it should. But it was
not noticed due to how that annotation behaves with TestNG...
MetadataTest: remove fake string's trailing commas
AbstractImageMetadata: refactor getAxisIndex

This introduces a new method for searching for the axis index from _any_
list of axes. It will be useful for finding the _raw_ index in cases
where it is needed.
AbstractImageMetadata: fix bug in setAxisLength

The problem, identified by MetadataTest#testAdjustTrailingAxis, was that
the getAxisIndex method now discards trailing axes of length 1. So the
setAxisLength method was erroneously determining that it needed to add
another axis of the same type that already existed in the raw axes list.

The fix is to check the _raw_ axes list for the axis of that type,
rather than the "effective" axes list as was being done.
MetadataTest: fix non-existent axes test

There is no scenario where querying a non-existent axis by type actually
throws an ArrayIndexOutOfBoundsException. However, the m.get(0) call
_was_ throwing that exception because without parsing the fake file,
there was no ImageMetadata whatsoever.

This commit changes the test to actually parse the fake file, and then
verifies that the axis interrogation behavior works as expected.