Dave Fulker suggested that
slices should have multiple
parts: e.g. [a:b,c:d].
This commit implements that facility.
It turned out be to be tricky because
the one slice per dimension assumption
is embedded pretty deeply in the code.
There may still be places I missed.