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.
Do not create empty Channel objects
Make sure that extra files do not end up on the used file list
Merge remote-tracking branch 'origin/dev_5_0' into rebased/dev_5_0/fake-reader
Merge pull request #1217 from melissalinkert/rebased/dev_5_0/fake-reader

FakeReader improvements, part 1 (rebased onto dev_5_0)