Automatically un-import distarray modules at client shutdown.
Adds back `dacluster clear` command.
Print file count before and after tests in travis.
Move open file count to right after `dacluster start`
Merge pull request #327 from cowlicks/open-files

Print file count before and after tests in travis.
Fixes cleanup issues and improves cleanup logic.
Fixes py3-related bugs.
Context's now put thier keys in a dict.
Fix rebase conflict.
ClientMDMap -> Distribution
ClientMapBase -> MapBase
ClientNoDistMap -> NoDistMap
ClientBlockMap -> BlockMap
ClientBlockCyclicMap -> BlockCyclicMap
ClientUnstructuredMap -> UnstructuredMap
Move module level functions to top. Refactor them.

There is now a single function for getting a `Map` from a `dist_type`. This
pattern was duplicated a lot and is now consolidated in `choose_map`.

Renamed `dist` -> `dist_type` in some places for consitency.

Renamed `map_factor` -> `map_from_sizes` to be consisten with
`map_from_dim_datas` and `map_from_global_dim_dict`.
Module organization comments.
pep8/pyflakes
Add simple tests for DAP validator wrappers.

Incidentally, add the test file `distarray/tests/test_testing.py`.
Merge pull request #329 from enthought/feature/exception-throwing-protocol-validator

Wrappers for DAP validator functions that throw exceptions