Strip control characters from input.

This serves multiple purposes: \r gets ignored so \r\n behaves
just like \n, and things like backspace characters won't have to
be dealt with later when we have user-to-user communication.
Rename "id" etc. to "ident" to avoid an unintended name clash.
Make parsing give either a Command or failure. Handle each.
Unify Event and Action into Message and change terminology.
Change the connection response.
Use UTF-8 encoding and Text except at endpoints.