Reorder some functions and improve a docstring.

Also, prefix `add_operations` with an underscore.
PEP8 in base.
Move an unused function to utils.

Maybe this should be deleted, but maybe we'll need this at some point.
Cleanup.
Fix setup.py.
Remove unused parameter.
Add a docstring and give `grid_shape` a default argument.
Tweak an error message.
Fix an ImportError and rearrange imports.
Don't use mutable objects as default parameters.
Remove an out-of-date comment.
Tweak a comment.
Remove an error function.
Tweak a docstring.
Fix errors caused by `init_grid_shape` refactor.
Remove an unused constant.
Refactor creation of LocalArrays.

Change the API such that,

in `base.py`:
* `__init__` now takes `dimdata` and optionally a `buf` and a `dtype`.  This will allow users to specify more complex disttypes.
* `_allocate` is now in `base.py` and called directly from `__init__`

in `denselocalarray.py`:
* `from_dap` is a classmethod representing the most general way to create a LocalArray (using the `dimdata` data structure from the Distributed Array Protocol).
* `__init__` is a simplified method that translates what's given into a `dimdata` under the hood.  Users will only be able to specify "regular" block and cyclic disttypes with this method.
Merge branch 'odin' into feature/change-LocalArray-creation-API