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.
Prevent FileStitcher from overriding the .pattern file's pattern

This fixes reading a subset of the files in a directory.
merge develop -D org: PR 983 (Woolz: make sure the service is initialized when calling openBytes (rebased onto develop))
merge develop -D org: PR 1123 (Add a reader that accepts a file containing a file pattern)
merge develop -D org: PR 1154 (Leica: prevent exception when linking EmissionFilter)
merge develop -D org: PR 1164 (Add modulo support for LI-FLIM data)
merge develop -D org: PR 1178 (Nikon .nd2 fixes, part 2 (rebased onto develop))
merge develop -D org: PR 1187 (ScanR: fix exposure time units)
merge develop -D org: PR 1191 (FakeReader improvements, part 1)
merge develop -D org

Repository: openmicroscopy/bioformats
Excluded PRs:
  # PR 1015 qidane 'Messy binary' (exclude comment)
  # PR 1177 rleigh-dundee 'specification: Add metadata for HDF5 embedding' (exclude comment)
  # PR 857 melissalinkert 'Initial support for Zeiss .lms files' (label: exclude)
  # PR 1141 LeeKamentsky 'Reader for Amaris FlowSight .cif format' (label: exclude)
  # PR 858 melissalinkert 'Initial support for Veeco AFM data' (label: exclude)
  # PR 978 berl 'Add writing of .v3draw format for easy loading with Vaa3D.' (user: berl)
  # PR 1192 melissalinkert 'DICOM: fix units for physical sizes' (status: error)
  # PR 1161 sommerc 'Initial CellH5 Reader class' (user: sommerc)
  # PR 816 melissalinkert 'Add support for multi-channel Volocity Clipping datasets' (label: exclude)
  # PR 1136 melissalinkert 'Add initial support for reading BinaryOnly OME-TIFF datasets (rebased onto develop)' (label: exclude)
  # PR 1054 qidane 'Additional annotation points throughout the model' (exclude comment)
Already up-to-date.

Merged PRs:
  # PR 983 melissalinkert 'Woolz: make sure the service is initialized when calling openBytes (rebased onto develop)'
  # PR 1123 melissalinkert 'Add a reader that accepts a file containing a file pattern'
  # PR 1154 melissalinkert 'Leica: prevent exception when linking EmissionFilter'
  # PR 1164 melissalinkert 'Add modulo support for LI-FLIM data'
  # PR 1178 melissalinkert 'Nikon .nd2 fixes, part 2 (rebased onto develop)'
  # PR 1187 melissalinkert 'ScanR: fix exposure time units'
  # PR 1191 melissalinkert 'FakeReader improvements, part 1'
Generated by OMERO-5.1-merge-push#313 (http://ci.openmicroscopy.org/job/OMERO-5.1-merge-push/313/)