Cache iterator paths for Grid::subset.

Grid::subset now stores a vector of Cell *, which means we don't need to recompute iterator paths more than once.