shapefile iterator may also yield spatial dimension objects #305

Spatial dimension objects are now used throughout the code including
in the subset module. Many of the external functionalities (i.e.
rotated pole management, wrapping/unwrapping) are now attached to
the spatial dimension. The subset module has undergone a considerable
refactor.