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
cpp: tiff: Add TileCoverage class
cpp: tiff: Add TileBuffer
cpp: tiff: Add region union operator
cpp: tiff: Add region validity check
cpp: tiff: Add region area method
cpp: tiff: Add TileCache
cpp: tiff: IFD image writing uses TileCache