Split up client and local code.

Previously with `local/` residing in `distarray/*` next to all the client code the client code was imported anytime we imported `local/`. This PR breaks up the package so that `local` code and `client` code can be imported independently. This avoi
had imports from local. This breaks up the package so that `local` code and `client` code can be imported independently. This avoids some of the circular import issues we had. And avoids import client modules on the engines.

The package structure is now like this
```
distarray/
    |
    -local/
    |   -local_stuff.py
    -client/
    |   -client_stuff.py
    -general_stuff.py
```
I also renamed the `client.py` file to `distarray.py`.