User can:
- Login using nickname and password
- Logout
- Get list of public rooms, including a number of room users and name of a room creator
- Create public (without password) and private rooms
- Join the room using room name and room password (or only name if a public room)
- Get list of room users
- Get all room messages
- Send messages to all users in the room