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
If you Stop() the timer, this blocks forever and the goroutine will leak. I don't think that's what you want.