FakeReader: detect multi-file screens from any of the field files

Prior to this, multi-file screens could only be detected from the
top-level directory.  This meant that importing into OMERO would not
have the desired effect, as ImportCandidates automatically recurses into
the directory and picks up the individual field files.

Fixes #12430.
mkfake: prevent the top-level directory name from being just ".fake"

See #12430.  It's a little weird to have e.g. 'mkfake ~/' create
~/.fake/, and makes it a little more difficult to find or remove the
screen directory.  'mkfake ~/' with this change will now create
~/screen.fake/, or ~/screenX.fake/ where X is the smallest index (from
1) for which a directory does not exist.
FakeReader: allow each channel's color to be specified separately

The 'color_x' keys (where x is the channel index) now set the color for
the specified channel.  These keys can be used with 'color', which acts
as a default value for any missing or invalid 'color_x' values.

Fixes #12423.
Fix used file listing for multi-file screens
Add HCS domain when fake image is SPW.
Merge pull request #16 from bpindelski/add-domains

Add HCS domain when fake image is SPW.
Do not create empty Channel objects
TIFF: correctly account for fakeBigTiff when reading IFD entries

Fixes #12367.
ND2: fix tile reading when the X coordinate is > 0

Fixes #12454.
InCell: correct for Z/T recording oddities in InCell 6000

Fixes #12416.
InCell: prevent NPE if the imaging mode is not specified
Make sure that extra files do not end up on the used file list
Merge pull request #1212 from melissalinkert/12416

Fix Z and T size calculation for InCell 6000 data
Merge pull request #1209 from melissalinkert/12454

ND2: fix tile reading when the X coordinate is > 0
Merge pull request #1205 from melissalinkert/12367

TIFF: correctly account for ```fakeBigTiff``` when reading IFD entries
Merge pull request #1191 from melissalinkert/fake-reader

FakeReader improvements, part 1