AVI: prevent reading beyond the end of the file

Fixes #10720.
Allow use of ImageJ 1.47q and later

See #10837.  Only 1.47o and 1.47p are excluded now.
Leica LIF: fix channel metadata for tile scans

Fixes #10952.

Conflicts:

	components/bio-formats/src/loci/formats/in/LIFReader.java
mdb: fix page swapping bug when reading column text values

The page buffers are swapped at the beginning of the read, and are
expected to be swapped back at the end of the read.  This was happening
if the read was successful and the value was valid, but not if the value
was invalid.

Fixes #10942.
mdb: only swap the buffers back if the memo length is zero

See c68c915d2430c80080907f46a90d5ea203cfd117.  Swapping on a memo with
length greater than 0 has the potential to introduce an infinite loop.
CellR: fix subtle issues in close() and openBytes

close() now clears all variables, and openBytes now does proper
parameter checking.  The former may help with the problem of incorrect
pixel data when importing certain CellR datasets into OMERO (see PR 529).

Conflicts:

	components/bio-formats/src/loci/formats/in/APLReader.java
CellR: prevent invalid files from being added to the used files list
CellR: trim the image names before sending them to MetadataStore
mdb: one more fix for page swapping

See 839516c and c68c915.
CellR: one more fix to prevent incorrect state during openBytes
Leica LIF: fix indexing bug introduced during rebase
Merge pull request #610 from melissalinkert/yet-another-set-of-bug-fixes_dev_4_4

Still more bug fixes (rebased onto dev_4_4)