Add a reader that accepts a file containing a file pattern

This lets us take advantage of FileStitcher as needed without explicitly
including it in the stack of wrapped readers.  Files ending in .pattern
are accepted, and should only contain a single line with the absolute or
relative file pattern (in the same format accepted by FileStitcher).
Fix used files/companion file reporting

The pattern file should now be correctly included in the used file list.
Update used file tests for FilePatternReader
LI-FLIM: add modulo support for phase and frequency data

Phases are added to ModuloT; frequencies are added to ModuloZ.  This is
consistent with how phases/frequencies are handled in other formats.

Fixes #12290.
Tidy up a few lingering series population issuse

The series count is now at most 2, so extra bookkeeping to divide
primary images from background images is not necessary.
Merge remote-tracking branch 'origin/develop' into pattern-reader

Conflicts:
	components/test-suite/src/loci/tests/testng/FormatReaderTest.java
Immediately return null lookup tables if initialization is not complete

This prevents throwing a FormatException in FileStitcher.
ND2: only adjust for {Frame,Time}{Before,After} if LoopSize is used

Fixes #11997.
ND2: do not skip bytes at the end of text info blocks

Fixes #11873.
Split metadata creation in bfsave.m into a standalone function

This should allow more flexibility in the definition of custom save function
where custom metadata can be passed as an input to bfsave
Fix bfsave to let tests pass
Add checkMinimalMetadata() method to TestBfsave
Add dimension order check to checkMinimalMetadata
Add additional metatada check
Add test for additional metadata storage using bfsave()
Move reader attribute definition and teardown to TestBfMatlab
Add documentation about bfsave metadata param/key value
Fix MATLAB function headers
Rename function as createMinimalOMEXMLMetadata.m
ScanR: fix exposure time units

See http://www.openmicroscopy.org/community/viewtopic.php?f=13&t=7554