Reduce the number of roundtrips for DistArray.get_localshapes to zero.

This also adds functions to metadata utils that could be useful for local map construction. But that can wait for another PR.
That does make more sense. Which things in the `dim_data` should have default values incase they are not provided. Did I get it right [here](https://github.com/enthought/distarray/pull/423/files#diff-4eed00415103bcf79667fada17612dbaR271) and [here](https://github.com/enthought/distarray/pull/423/files#diff-4eed00415103bcf79667fada17612dbaR282)?