Slicing a `Map` returns a `Map`

Previously there was not a `Distribution` constructor that could take a sequence of `Map`s, so `Map.slice` returned `global_dim_dict`s.  Now there is one, so we should use it.