Set minimum (the special value) timeout to 0

Fixes #1201
Bump CMake version

If I recall correctly, Tucos had figured out that we need 2.8.1 now.
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
Don't display control characters

Replace them with their respective unicode char from the control picture
block.
Show OS X notification center notifications
Let quassel honour locale language settings

When the language setting (LC_MESSAGES) differs from the global locale
set, quassel will use the wrong language. Qt 4.8 introduces some changes
to QLocale which make this pretty much Just Work; this patch copies the
necessary bits for older Qts.

Fixes #1194
Enable smooth fonts on retina macs
add irssi's wii as a default alias
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.