Tweaks.
Unregister listeners upon receiving an ERROR message.

It turns out that, according to RFC2812, that (at least some) IRC
servers will send ERROR in response to QUIT command as a confirmation of
QUIT command. Hence we can use  ERROR as a signal to unregister managers
and outstanding operations.

One issue remaining to be solved is how to detect the involuntary (fatal
or serious) errors that interfere with the connection, but are not
initiated by a QUIT (or other command) by the local user.
Identify unintentional connection interruptions by comparing interrupted IrcConnection instance with current IrcConnection instance.