Added handling of user mode.

* Added a public read-only field for modes;
* Added a listener on MODE events that handles user mode changes;
* Added a listener on RPL_NOWAWAY and RPL_UNAWAY events so we can keep the 'a' flag up-to-date.