CellSens: initial support for reading internal pyramids

Fix loop over the number of resolutions

Fix optimal tile size reporting for subresolutions

Do not allow subresolutions to overwrite tile dimensions

Make image reading consistent regardless of the flattened resolution setting

Make sure tile coordinate hash codes are consistent

Fix thumbnail reading for unflattened resolutions
Prevent channel count from being incorrect for subresolutions
Fix endianness/interleaved settings for subresolutions
Memoizer: prevent exception if the memo file's version is not x.y.z

If the stored version is something like UNKNOWN, then minor version
parsing would have failed with a StringIndexOutOfBoundsException.

Fixes #11971.
Wlz: make the service variable transient

This prevents the Memoizer from storing the service variable, which
should prevent problems with reinitializing .wlz files when a memo file
is present.

Fixes #12019.
Merge pull request #946 from melissalinkert/vsi-pyramids

Read internal pyramids from CellSens .vsi data
Merge pull request #952 from melissalinkert/memo-fixes

Memoization fixes