Relicense SystemTray and LegacySystemTray under LGPL 2+

This was requested so that it could be made useful together with
StatusNotifierItem (which came from KDE and already is LGPL'd).

Here's hoping that it will result in a neat little library that programs
can use to have a systemtray icon that sucks less than the stock one.

This code was written by yours truly.
Optionally start minimized to tray

Restores mimized to tray if it was closed as such and adds an option to
force starting mimized to tray (if a tray is available). Fixed #1133
Fix duplication/dropping of messages in certain instances.

When multiple messages are processed at once, if one of the messages is flagged
for redirection, the wrong array is accessed, potentially causing the redirected
message to be dropped and another message to be duplicated.
Set minimum (the special value) timeout to 0

Fixes #1201
Add notification backend to support DockManagers

DockManager is a DBus API that does fancy icons. Current support
includes progress reporting whilst connecting, requesting attention
when highlighted and showing pending highlight count in a label. Exact
support also depends on the dock.
Don't crash if no audio file for Phonon is set
Make sure target for displayMsg is not null

In the key related functions bufferInfo.bufferName() was used, but this
returns a null QString, which causes a segfault when processed later on,
so replace them with emtpy strings.
Bump version.inc for release
Fix CMake build types and compiler flags

Turns out there were various typos in this that noone ever noticed,
most notably leading to QT_NO_DEBUG not being defined in RelWithDebInfo
builds. We're now also defaulting to RelWithDebInfo for Win32; please
let me know if that still causes problems.

While I was at it, I also added CMAKE_BUILD_TYPE=Profile, and pimped the
compiler warnings in general. In particular, -Woverloaded-virtual seems
rather useful with all the template trickery we're introducing lately.
Fix virtual overloads

So I learned something today: the 'using' keyword can also be used to
import function names from the enclosing namespace. This not only
solves the spammy virtual overload warnings that the new-fangled protocol
stuff introduced unwittingly, but also removes the need to redefine
RemotePeer::handle<>() as a forward to Peer::handle<>().

Also, someone please kick the C++ inventors for making method lookup
not follow the Koenig rules (contrary to most other lookups...).
Fix Build on OS X 10.7, Where notification center doesn't exist.
Fix deprecated warnings.  com.trolltech>org.qtproject
Merge pull request #12 from dmeltzer/master

Fix build on os x 10.7
Build against Qt 4.7 again

Thx Tucos for the patch.
Fix building with Qt 4.7

For reasons unknown, qPrintable() doesn't work with QByteArray in Qt versions
prior to 4.8 (the confusing thing is why it works now, in fact). In any case,
it probably makes sense to print a binary blob using normal QDebug output for
QByteArrays anyway, rather than trying to convert it to a string.
Fix lag display

Not sure what I was thinking in d3ce95c, but that commit
a) didn't fix compiling with Qt < 4.7
b) confused local time and UTC, which
c) completely bugged lag display.

Should be working now.
Simplify and fix (re)connection logic

Still a mess, but the refactor is right around the corner anyway. Now at
least Quassel should no longer reconnect automagically if disconnected
explicitly.
Fix missing #include
Build against Qt 4.6 again

Bah.
Change date/time formats

As some date strings are generated core-side, and servers might have set
a different locale than connected clients, we would like to avoid localized
date strings. As Qt4 also doesn't allow to display a time zone (offset) without
also localizing the string, we convert all core-side times into UTC and display
them in ISO format.

The daychange message, however, is generated client-side and thus can be shown
according to application or system locale.
 we would like to avoid localized
dates