Prevent empty StructuredAnnotations from being created

If Modulo annotations and original metadata are not present, there is no
need to create a StructuredAnnotations object.

Fixes #11867.
Leica .lei: fix file matching when there are multiple candidate series

This prevents a series with missing files from picking up files that
belong to a subsequent series.

Fixes #11683.
APNG: eliminate need for deinterleaving

By setting the 'interleaved' flag differently, the deinterleaving logic
can be removed, which prevents the reader from allocating another image
array.  This improves performance and memory usage for larger images.

Fixes #10796.
Prevent misleading IOException during config file parsing
FV1000: populate DeltaT based upon the start/end times

Fixes #11087.
APNG: fix tile pasting for images beyond the first
Merge remote-tracking branch 'origin/develop' into bug-fixes
cpp: bioformats: Use streaming operator for bool value
merge develop -D org: PR 857 (Initial support for Zeiss .lms files)
merge develop -D org: PR 858 (Initial support for Veeco AFM data)
merge develop -D org: PR 859 (Assorted metadata/tile parsing fixes)
merge develop -D org: PR 950 (Cellomics: a few fixes for single-file datasets)
merge develop -D org: PR 959 (CZI: make sure that SubBlocks are correctly initialized in openBytes (rebased onto develop))
merge develop -D org: PR 962 (C++: Add FormatReader interface and associated classes)
merge develop -D org: PR 964 (Log the expected and actual values in failed metadata tests (rebased onto develop))