cuSTL: implement Foreach for 2D and 1D

This is an early pull from my *Phase Space* branch.

- cuSTL's ForEach works on 2D and 1D data structures now
- add `::dim` to `SphericZone`

Could resolve problems with cuSTL detected when porting to 2D in #212.