Add user_t->state
Extract create_connection
Fix: remove trailing CRLF which telnet sent
Support receiving messages depending on user->state
Fix: free user->name only when allocated
Trim whitespaces in name
Fix: do not set empty name
Support system message
Refactor: reduce nest
Add user_joins
Add comment
Add enqueue_message_to_all