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