FIX: Fix for issue #12.

It is necessary to get the ranks for the intracommunicator created by
the DistArayContext's __init__() since an intracomm's ranks may be in an
arbitrary order when compared to the ranks of the parent communicator.
The mapping between engine ID's and the intracomm's ranks is the correct
association to use.
FIX: Fixes issue #12.

Uses a dict of target ids to MPI ranks, named `target_to_rank`, which
is unambiguous when the targets argument to DistArrayContext is
non-contiguous and / or out of order.  Testsuite updated accordingly.
Merge pull request #17 from enthought/bugfix-12

FIX: Fix for issue #12.