More robust default cell size determination

Split out the cell size determination to two methods in
SCIFIOCellImgFactory - one that takes a Reader only and uses the
optimalTileHeight/Width, and one that allows a starting tile
height/width to be specified.

Tiles are expanded, horizontally first and then vertically, to determine
an optimal cell size. Priority is given to spanning the entire width of
the image, and then the entire height of the image, even if it can't be
perfectly tiled.

Tiles are limited to 2MB.
Merge branch 'cellsizefixes'

Enhanced cell size detection to attempt to respect optimal tile height/width,
but with the capacity to expand to collections of tiles, or to violate tile
boundaries if the entire width of the image can be spanned, or if the entire
image can fit in one cell.

This should speed up formats like OMETIFF when they the
Reader#optimalTileHeight/Width specify tile heights/width that are
significantly less than what could be loaded in memory.