Add a `load_hdf5` function to denselocalarray.py...

that takes a `dim_data` to describe which portions of data to load into a LocalArray.

Also add tests for it.  The unstructured case required filling in a bit of missing code in `base.py`.
Remove some redundancy in test method names.
Apply Mark's fix to clear().
Fix typo in comment.
Tweak a docstring.
Add a parallel `load_hdf5` to the client...

that takes an iterable of dim_data structures, one-per-process.

Also, add tests for it.
Factor out a function: compact_indices.

I used this functionality in load_hdf5, and I plan to use it to load .npy files as well.
Spell out a comprehension a bit.
Load a .npy file into LocalArrays in parallel.
Improve a docstring.
Add some Barrier statements to prevent race conditions.
Factor out test data on client dist-io tests.
Add a client-side load_npy function and tests.
Context takes a client argument, no longer takes view.

Context initializes its view attribute with all engines from the client
passed in.  Will initialize with Client() if no client argument
provided.

User can (still) select a subset of client's engines with `targets`
argument.
Merge branch 'feature/add-hdf5-io' into feature/parallel-hdf5-loading

Conflicts:
	distarray/client.py
Add Barrier statements to prevent race conditions.
Merge branch 'feature/parallel-hdf5-loading' into feature/parallel-npy-loading

Conflicts:
	distarray/client.py
	distarray/local/tests/paralleltest_io.py
Move load to context.py.

(Accidentally left this off the merge.)
Removes direct_view instances from testsuite.
Clean up test_client.py's docstring.