Fix threading and cleanup issues on Collider

Fixes these issues on Collider:
1. accessing the room/client data is now thread safe
2. sets a max count limit on each client's message queue
3. removes the record of a client if it has not registered after a 5s time out
Would it make more sense to use AfterFunc?