Support for Qt5.

Adds support for compiling against Qt5. This affects the Marble library
and the Marble Qt Desktop application. When compiling against Qt5,
the Marble KDE Desktop application is not build (porting to KDE
frameworks 5 is yet to be done).

If both Qt4 and Qt5 are installed on the system, Qt4 is chosen by
default. It can be overriden using the QT5BUILD=TRUE cmake variable.
When building against Qt5, cmake will emit lots of
CMAKE_AUTOMOC_RELAXED_MODE related warnings. Please ignore them.

REVIEW: 113392
FEATURE:

Squashed commit of the following:

commit 90286f9a2b35f3b9c4f628970f123a89905df562
Merge: b47483d 2773f06
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Wed Oct 30 18:18:27 2013 +0100

    Merge branch 'master' into qt5

commit b47483d2a0988846e16f0390727aed7dd2e39301
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Wed Oct 23 10:53:18 2013 +0200

    Have cmake set fpic option

    Hopefully it is smart enough to determine the correct setting based
    on operating system / compiler. Might suppress warning messages in
    windows/mingw.

commit 04acc49b5092dd6f1da7722f7843ce599d671952
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Wed Oct 23 09:07:18 2013 +0200

    Link against qt sql libraries

commit 9a7e86de563247117f093af8bc7f1acf5772c8cc
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 19:42:44 2013 +0200

    Determine build flags automatically where possible.

    - If Qt4 is not installed, but Qt5 is, do a QT5BUILD automatically
    - If both Qt4 and Qt5 are installed, use Qt4 unless user sets QT5BUILD
    - When doing QT5BUILD, do a QTONLY build (KDE frameworks 5 support tbd)

commit 6600b3663f6f4bd0803050c4769949c70e1ad64d
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 18:50:44 2013 +0200

    Reuse MARBLE_PLUGIN_INSTALL_PATH.

    Do not handle KDE vs Qt build specially wrt plugin install path. Also
    enables non-system installation for QTONLY=OFF width designer plugins.

commit 94270cf0b2a520748582f66a0063243fc1e203eb
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 18:50:24 2013 +0200

    Remove duplicate macro

commit b6c66aa919c0449af99291b8c84d0efe38375e52
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 18:49:51 2013 +0200

    Support building qt designer plugins with qt5

commit 43ac9240d9533aeb20fe8370d6f3b15eca1188a2
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 17:22:16 2013 +0200

    Fix typo

commit 2f52806ba12758d6d8b72b60b142d4499d1e1e5b
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 17:18:25 2013 +0200

    Don't use NULL. Use 0.

commit c75c1998abbab5eaaa8d4b0270717bd33c83ff05
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 17:11:10 2013 +0200

    Fix typo

commit 75c0e416580a063f09b4e411dc7f864c894fc283
Merge: 2788ad8 a356329
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 17:06:30 2013 +0200

    Merge branch 'master' into qt5

commit 2788ad89bccc73c6946a3f3a10435228176863e5
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 14:35:20 2013 +0200

    Include marble_export.h for the Q_PLUGIN_METADATA definition with qt4

commit 7696304f41dabbd60d7495f565b38b3930a92c14
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 14:22:22 2013 +0200

    Move if() clauses out of include_directories command.

    Not sure if newer cmake versions allow that syntax, but the statements
    end up as-is in include directory commands here (cmake 2.8.11.2) which
    confuse g++.

commit f32eda2353e5cab528009b3035ff56374994fa18
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 14:20:18 2013 +0200

    Fix class name in typedef

commit 90d113b9a0c2801efcb662f3356fc4a733933f01
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 14:01:11 2013 +0200

    Remove -qt=qt5 option which is unknown to qmake in qt 5.0 at least

commit 59d458068ff918cf85ada640c29541e80e982d04
Merge: fce79d7 b5acbb9
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Oct 20 11:29:11 2013 +0200

    Merge branch 'master' into qt5

    Conflicts:
    	src/plugins/CMakeLists.txt
    	src/plugins/qt-components/CMakeLists.txt
    	src/plugins/qt-components/QtComponentsPlugin.h
    	src/qt-components/marble-touch/CMakeLists.txt

commit fce79d7500e3fdb593e8b2c9533727360f274ab6
Author: Michael Zanetti <michael_zanetti@gmx.net>
Date:   Sun Sep 22 21:40:01 2013 +0200

    fix qml components install dir for Qt5

commit 82ea552688ecdcfbad1d9b583f6d88a4551ad755
Author: Michael Zanetti <michael_zanetti@gmx.net>
Date:   Tue Sep 17 22:44:55 2013 +0200

    make marble-touch compile with qt5

commit 763837ffd23cbd1b95c125175f94d045d6c85104
Merge: 8f8a683 6329450
Author: Michael Zanetti <michael_zanetti@gmx.net>
Date:   Tue Sep 17 21:46:06 2013 +0200

    Merge branch 'master' into qt5

    Conflicts:
    	src/lib/StackedTile.cpp

commit 8f8a6834ac8559244237e0b6a487f1f8e3f11334
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Sep 1 16:44:12 2013 +0200

    QtMobility only works with Qt4

commit c1f8c6f654e79e242a4242650c1e8fb179a50b79
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Sep 1 16:39:52 2013 +0200

    Port roleNames() to Qt5

commit e29cc4049fcef65cd6582a42057b57ac2e19475d
Merge: 4c9ba04 5543d99
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Sep 1 16:29:28 2013 +0200

    Merge branch 'master' into qt5

    Conflicts:
    	src/lib/NewstuffModel.h
    	src/lib/routing/SpeakersModel.h
    	src/plugins/declarative/MapThemeModel.cpp
    	src/plugins/declarative/MapThemeModel.h

commit 4c9ba04b8d1c4d133f42c5abfa791df5226307a3
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Fri Aug 30 20:12:30 2013 +0200

    Guard QT_USE_FILE include against Qt5 build. Add missing include dir.

commit 77bd57052e73e1c5bae4875678cd82125e1b957a
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Thu Aug 29 23:29:56 2013 +0200

    ported tests to Qt 5

commit f5b7e6ac3674b475e22d96169b59aec7dd89d777
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Thu Aug 29 22:05:51 2013 +0200

    all plugins ported to Qt5 (components plugin's QML files not ported yet)

commit ae390969ef444006b914f85475bc8fc57226bd4b
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Thu Aug 29 21:54:47 2013 +0200

    marble-mobile ported to Qt5

commit 22cd33d62badb8f1650223d8e12e5561cc1562b5
Merge: db5fec5 eb4206d
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Thu Aug 29 21:38:33 2013 +0200

    Merge branch 'master' into qt5

    Conflicts:
    	MarbleMacros.cmake
    	src/CMakeLists.txt
    	src/lib/CMakeLists.txt
    	src/plugins/render/earthquake/CMakeLists.txt
    	src/plugins/render/elevationprofilefloatitem/CMakeLists.txt
    	src/plugins/render/elevationprofilemarker/CMakeLists.txt
    	src/plugins/render/navigation/CMakeLists.txt
    	src/plugins/render/opendesktop/CMakeLists.txt

commit db5fec5e9480974454961ec54c8befe953164c36
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Thu Aug 29 21:32:25 2013 +0200

    ported runner plugins to Qt5

commit e7898acfb8f044d8b945023551c40c301b962006
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 25 16:26:26 2013 +0200

    don't use QDeclarative typedefs in headers

commit 46c614fda771f1d1d477a94576c12fd00e9d1a74
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Aug 25 15:28:26 2013 +0200

    Provide Q_PLUGIN_METADATA needed for plugin loading with qt5

commit 0c1a3d42d33f13404a2a53685bb6ec47186621c6
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Aug 25 15:27:15 2013 +0200

    Phonon only works with Qt4.

    Including it anyway leads to linking against both qt4 and qt5 which
    results in a segfault at runtime during plugin loading.

commit b457c410e8de17f68f974dd25c09ae1a7368d4e8
Author: Dennis Nienhüser <earthwings@gentoo.org>
Date:   Sun Aug 25 15:09:47 2013 +0200

    Fix declarative plugin installation path

commit 87dd04a0b6c6a8205e081b4f6c4d146d7950d58c
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 25 14:34:05 2013 +0200

    make new cloudsync code work with Qt5

commit c15282ba7693a61f239714c2998f343dac3b7369
Merge: 49c2920 39727c5
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 25 14:30:43 2013 +0200

    Merge branch 'master' into qt5

    Conflicts:
    	CMakeLists.txt
    	src/lib/AbstractDataPluginModel.cpp
    	src/lib/ServerLayout.cpp
    	src/tilecreator/CMakeLists.txt

commit 49c2920e02379f448d395d663cd0fae5612eeea8
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 25 14:03:36 2013 +0200

    typdef QDeclarative -> QQml/QQuick as much as possible

commit b48c6a90af0a5ab756f6a86eb7159a698d6488ea
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 25 13:53:19 2013 +0200

    remove debug message

commit 485dfc56d6fe8ba56196c7c29ec5f502c478e50a
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 25 13:51:30 2013 +0200

    finish porting plugins to Qt5

commit aab9758628bc1720d09113f1a9791753836c595f
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Wed Aug 21 23:47:40 2013 +0200

    compiles and runs with Qt5. Plugins and tests disabled for now.

commit f5adf6ee82834f65172605ba1408f46a42f77bc9
Author: Michael Zanetti <mzanetti@kde.org>
Date:   Sun Aug 4 16:26:18 2013 +0200

    use cmake automoc for cmake version >= 2.8 and QT5
Clean up MarbleDebug header and install it.

Enables 3rd party applications to toggle debug output generation.
Install PluginManager and PositionProviderPlugin header files
Use a private class to clean up MarbleWidgetPopupMenu.h and install it

Enables 3rd party applications to trigger / extend the context menu
Version bump to what will become Marble 1.7
Merge branch 'master' into cloudsync-bookmarks