Rename and restructure stuff to better isolate IPython from MPI.
More explicit determination of which Context class to use.
Make Context.make_subcomm() public.

Implement subcommunicator caching for MPIContext.
Free subcommunicators when closing Context.
Remove ipdb calls.
Merge pull request #544 from enthought/bugfix/context-creation-and-cleanup

Fix up context creation and cleanup