Add a test for checking that the required directory count is valid

We can't reliably test for the required directory count being too large,
but the test will fail if the directory count is too small.
MDBService: fix file initialization for mapped files
InCell: put the current file first on the used file list

This is important for datasets with .im files, which are not usable by setId.
L2D: remove unnecessary override of getRequiredDirectories

All files are in the same parent directory, so there is no need to
preserve additional directories.
Visitech: use Location instead of File
Fix Zeiss TIFF reader and CaseInsensitiveLocation to work with mapped files
Prairie: use Location and RandomAccessInputStream instead of File
FV1000: fix handling of mapped files
Tidy up the required directory test
Fix use of File.separator in a regex
FV1000: fix .pty stream detection for .oib files
Final set of fixes for testing getRequiredDirectories
Make sure that the file to initialize is non-null
Merge remote-tracking branch 'origin/develop' into required-directory-test
Zip: make sure that the file mapping is correct during openBytes

This prevents openBytes from failing if close() was called on a
different ZipReader initialized with the same file.
PrairieReader: remove unused import
Last round of fixes for working with mapped files

This is necessary to make the required directory tests pass.
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