BioFormatsFormat: compute reader classes only once

This change reworks how ImageReaders are created. The ClassList for the
reader classes is computed once when the format is first created;
afterward, that same ClassList is always used to create new
ImageReaders.

This change also avoids calling close() on the ImageReader when such a
call is unnecessary; this substantially improves code conciseness.
Add a simple manual test of scifio-bf-compat

This test can be fleshed out later to verify additional features are
working correctly, and/or converted to unit tests as time permits.
BioFormatsFormat: fix whitespace
BioFormatsFormat: use reader, not CoreMetadata

The reader is safer, since there are some reader wrappers that override
getter methods without fixing their CoreMetadata accordingly (sometimes
even by design!). We already have the reader anyway, so rather than
relying on the CoreMetadata fields, let's just use the getters.
BioFormatsFormat: do not hardcode 5D

Next step is to also parse the sub-C dimensional axes.