Breaking the completeToolSession functionality into two parts. Now the tool session is completed but it forwards to another call to complete the activity and calculate the next activity. This is to reduce the chances of collisions when live edit is being started, in a clustering environment. See the live edit wiki page for more details.
Trying to make progress engine cope with "holes" in the progress ie if the user's current activity disappears (e.g. temporary system gate and live edit end)