Initial support for users disconnecting in middle of task.

The implementation uses a heartbeat event where other users in a group
are responsible for monitoring each other and reporting if one goes
missing for too long (currently 14 seconds). The user is removed from
the task group for the remaining users, and in future steps their
choices will not be shown, and their vote will not be required to
continue. It does not currently affect the current step or group
formation stage.