Adds cleanall makefile target.
Positivify negative indices passed to DistArray.__get/setitem__
Rename things in client_map.py

In the last rename, I saw nested sequences of dimension dictionaries being passed around and thought they were all `dim_data_per_rank` structures.  They are not; some of these are a de-duplicated zip of `dim_data_per_rank`.  Here give those things their own name (`axis_dim_dicts`) and add in some comments.

Also, rename `compactify_dicts` to `_dedup_dim_dicts`, which I think is a slightly better name and give `map_from_axis_dim_dicts` a leading underscore, since it shouldn't be part of the public interface.
Merge pull request #348 from enthought/feature/cleanall-target

Adds cleanall makefile target.
Merge pull request #350 from enthought/refactor/fix-client-map-names

Rename things in client_map.py
Positivify local distribution indexes
Add negative indexing tests.
Copy global_dim_data docstring to Distribution

Its __init__ method takes a global_dim_data, and from_global_dim_data will go away soon.
Fix Distribution.__init__ to pass ddpr...

instead of the less general shape/dist/grid_shape.
Remove Context.from_global_dim_data...

and fix tests to first make a Distribution object from a global_dim_data, then make a DistArray with the Distribution object.
Merge pull request #351 from enthought/refactor/remove-from-global-dim-data

Remove `Context.from_global_dim_data`
Merge pull request #349 from cowlicks/lets-use-modules

Put context's objects in a module instead of a dict.
Merge branch 'master' into cowlicks-indexing
Fixes cleanup code with new namespace management.
Merge pull request #352 from enthought/bugfix-cleanup

Fixes cleanup code with new namespace management.
BUG: remove duplicate distarray prefix on contexts.
New __get/setitem__ with one roundtrip.