Structure message types and add new ones.

And remove profanity :p
updateAll now gets T by const reference.

Observable::updateAll accepts T by const ref instead of ref to allow things
like updateAll( ServerMessage() ).
Listener now detects if disconnected.

And sends out a ServerMessage about it.