Try locking version of h5py to 2.2.1.
Merge pull request #457 from enthought/bugfix/lock-version-of-h5py

Lock version of h5py to 2.2.1
Add a copy of the Context class which we will modify to use MPI.
Add barebones engines.py
Add pickle_utils.py with a pickler for code objects.
Add push, pull, execute, and flesh out more of apply to engines.py
Flesh out context.apply
Dumb import fixes
Start on creating comm objects.
Use intercomm for client/engine send/recv
MPIContext refactoring
Add cleanup to context which kills the engine_loop
noqa comment
eval -> exec for running code blocks
Remove call to mpi.world collective operation at module import

this was causing hangs.
Engines.execute should run in the `__main__` namespace.
Remove default kwarg with default value.
Split engines.py into tools and a engine app to be run in MIMD mode.
Refactor MPIContext and engine.py to be used in MIMD mode.
Add mpionly_utils and some documentation.