add support for oping a whole channel with /op *
refactor out mode-applying into a separate method
support '*' as a target for modes
add irssi's wii as a default alias
consistency++
Refactor Cipher related things.

Instead of using a hash with set keys, set the key on the relevant
  CoreIrc{User,Channel}'s cipher member.
Let the cipher clear its own key (with appropriate checks elsewhere)
Instantiate a new IrcUser when necessary (a query with someone who does
  not share any channels with us means there is no IrcUser for the target
  until he says something)
Add support for DH1080 key exchange

Adds a KeyEvent and handlers, as well as a command (keyx) to initiate
and act upon a key exchange.
Use QCoreApplication::arguments() for genversion

This prevents issues with locales and unicode paths.
Fixes #1177
Add codec blacklist for UTF-8 detection

ISO-2022-JP is valid UTF-8, which means this codec needs to bypass the
auto-detection.
Rename Internal-, Remote- and LegacyConnection to -Peer

While I'm not tooo happy with the word "Peer", I couldn't think of another one
that fits their purpose better. "Connection" was certainly less correct, and
we have so many different connections in the codebase that it got way too confusing.

At least, while Peer might not be a perfect match, it is consistent with how we always
called that in Quassel (and they still inherit from SignalProxy::AbstractPeer and have
been doing so for years!).
Fix SASL auth with Freenode

Looks like Freenode adds a trailing space to its CAP ACK reply, so Quassel
would hang after we don't trim incoming messages anymore.

I don't particularly like the startsWith() workaround, but I guess we'll need
a more capable parser anyway, should we support more caps in the future...
Fix issue with "Topic set" message

Yeah, those parens can be confusing.
Simplify CTCP parsing by default

Rather than adhering to the CTCP 'specification', reply only to single
CTCP messages without text around them. All messages not fitting the
requirements are simply displayed in the buffer. The old behaviour can
still be enabled in the settings dialog.

Fixes #1130
Only escape \ with standards-compliant ctcp

Fixes #1142
Add support for SASL EXTERNAL

This is a method to identify to nickserv during connection registration,
like SASL PLAIN, but using the fingerprint of the certificate. Currently
the method used is chosen based on the mere presence of a certificate.
SASL PLAIN is not used as fallback (either this works or the certificate
is used as normal, with the race condition).
Name labels a bit nicer
If phonon is not availaible: disable the audio settings
If phonon backend is not available use as fallback the system bell
Formatting fixes
Check if user setting pair exists before inserting/updating it.

If it exists it's inserted else the date is updated.
This fixes a (harmless) error that clutters the postgres log.
Fixes #958