Reuse client id's of disconnected clients

Uses a list to keep track of free client ids