Assume that the data is stored divided into sections, described by dataSection. All the data within a dataSection is
stored contiguously, in a regular layout. Assume dataSection strides must be = 1, that is, the stored data is not
strided.
The user asks for some section, wantSection (may have strides).
For each dataSection that intersects wantSection, a IndexChunkerTiled is created, which
figures out the optimal access pattern, based on reading contiguous runs of data. Each
IndexChunkerTiled handles only one dataSection. Typically the cllaing program loops over
all dataSections that intersect the wanted section.
Both dataSection and wantSection refer to the variable's overall shape.