additional bugfixes

1. use mc->comm instead of MPI_COMM_WORLD in the "exchange" functions.
After a failure, MPI_COMM_WORLD will no longer work.

2. Remaining processes should restart the main loop after they repair
their communicator and join the spawned process in the same place.