Move RandomModule class to its own module. random.py
Maintenence on Random class.

* Rename the class RandomModule -> Random
* Add docstrings mostly from NumPy.
* pep8
* fixbugs from old api changes
Add random import to __init__.py
Add tests for random.py

These tests are pretty dumb, they only check that we are getting the
correct shapes returned.
Remove RandomModule from client.py
Generalize `from_distarray` to take a dict as well.

Now, this method will take an object with a `__distarray__` method that returns a dict, or it will just take a bare dict (provided this is a distbuffer dict as defined by the distributed array protocol).
Add tests for the dict form of `from_distarray`.
Rename a test.
Merge branch 'feature/generalize-from_distarray' into feature/add-flat-file-io
Add basic flat-file IO and tests.
Move the details of file writing to `format.py`.
Fill in save and load implementations not using pickle.

Much of this is copied from or adapted from Numpy code.
Add a blank line.
Add and tweak some docstrings.
Remove unused imports.
Add a couple of comments about copied functions.
Add a module docstring describing the .dap format.
Edit a docstring.

Pluralize!
Separate basic testing and coverage testing in makefile targets.

This makes `coverage` an optional dependency.

`make test` tests without coverage.

`make test_with_coverage` does the obvious.

.travis.yml updated to use `make test_with_coverage`.
Add missing `comm` argument to LocalArray constructor.

Segfaults otherwise...