Make charm compile with Qt4 and Qt5

This 10 patches make charm compile with either Qt4 or Qt5 rather then only with Qt4 with both, the cmake and qmake, buildsystems.

Work done:
* Code got ported to compile fine with Qt4 and Qt5.
* The buildsystems got extended to proper handle Qt4 and Qt5
* Made The QtDBus logic used on keychain work also if a Qt4/Qt5 was compiled without support for QtDBus. In that case we will fall back to the unsecure keychain.

Work still to be done:
* The Linux idle logic needs to be ported from xlib to xcb or is there a way around missing QX11Info? Not sure and I did not spend much time on investigating that case. On Qt5 Linux idle-tracking is just disabled for now.

Notes:
* Now we prefer Qt5 over Qt4 what means if someone has both installed Qt5 will be picked and Charm will be compiled against Qt5. That is a rather offensive change in that Charm@Qt5 wasn't as well tested as Charm@Qt4 is. So this *WILL* need more testing. Maybe it would even make sense to inverse the logic again and/or to print a bold warning if Charm is compiled against Qt5 that this is experimental. I not expect problems but who knows...
* The keychain-change means that now its possible to compile a Charm on Linux that uses an untrusted store what is a two-folded thing. Great if that's what is wanted but if it happens by accident (like just forgot to compile QT with dbus enabled) then the password may end in an unsecure location... worth a bold warning during compile or even an explicit check+abort of compile if not compiled against eg Android or with a -DYES_I_KNOW_WHAT_I_DO ?

Feeback more then welcome :)