Remove all of the connection handling stuff. Clients come and go, and
idleness is defined as an empty work queue. We still use join/leave messages, but the join message is so that the client can be informed of the number of blocks in the file. The leave message is strictly informational, and includes the elapsed time on the client, so that it can be written to the log file. If that message is lost, no big deal. I ran a 6 node test on this new code, and all the clients ran in 174 to 176 seconds, with frisbeed using 1% CPU on average (typically starts out at about 3%, and quickly drops off to steady state).