fix bug when client disconnects quickly before we finish with them. Also exit if we find client id collisions