UpdateTopology & initialization all work

API changes to include the number of tasks in the communication group
construction. So now it waits for all these tasks to be running before
it processes ACK msgs. So by default it now waits for all the processes
to be running. Still need to implement getting changes and this will
give us the fault tolerant baseline which works in the face of failures.
Adding a way to ignore currently failed tasks will result in the fault
aware baseline. Ramp-up still needs some thinking as to what is the
right interface to expose