MPI_Comm_create must be called on all engines

when creating a new group.

See [MPI Docs](http://mpi.deino.net/mpi_functions/MPI_Comm_create.html) for details.

Also fixes an incorrect assumption that engine ID == MPI rank.

closes #7