Isolate context's namespace in modules instead of dicts.
Reflect namespace container changes in cleanup functions.
Positivify negative indices passed to DistArray.__get/setitem__
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
Put client side modules in distarray/client/ and change imports.
move client.py -> distarray.py and change imports to reflect this.
move DISTARRAY_BASE_NAME into top level __init__.py

This is because dacluster should not have to impor distarray/client/ to
clean things up.
Fix circular import issue with distarray.py
client_maps.py -> maps.py. add __future__.absolute_import where needed.

Since the module distarray/client/distarray.py's name conflicts with the
package name we import `absolute_import` everywhere in the file.
rename client directory to dist
Remove cruft from bad rebase.
Move utils to distarray/utils/.
moves suggested by @kwmsmith