Public challenges feature for chat

* Separate public challenge requests for server
* Server handles public challenges and sends status updates
* Client shows public challenges and allows joining them
* Fixed asynchronous problems and other bugs