Add functions for getting local sizes and shapes from dim_datas.
Make get_localshapes require no communication.
index a dict insted of .get
Fix c_or_bc_chooser
Add smoke test for get_shape_from_dim_data_per_rank.
more specific test for get_localshapes
Set grid_size in NoDistMap.__init__
More tests for get_localshapes and metadata utils functions.
Add localshapes method to distribution
get_localshapes -> localshapes, get_shape_from... -> shapes_from...

get_shape_from_dim_data_per_rank -> shapes_from_dim_data_per_rank
Merge pull request #423 from cowlicks/get_localshapes

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