Build status summary in cmake runs

Uses the FeatureSummary module of cmake and should be
backwards-compatible to early 2.8.x versions (maybe also 2.6?) versions
thanks to the marble_set_package_properties macro.

REVIEW: 107465
Fixing zooming in and out with the mouse wheel during kinetic scrolling

Without this patch it zooms in to the position of the mouse without
noticing the kineticmodel, so it sets back the position in its next
step.
Add a radius attribute to the dgml target tag

Allows <target radius="4711">myplanet</target> in .dgml files
REVIEW: 103653
make tests compilable also when compiling with kdelibs

- set BUILD_MARBLE_TESTS according to KDE4_BUILD_TESTS
- introduce a new marble_add_qtonly_test, similar to marble_add_test, to compile a test only in QTONLY mode
- setup the kde4 include directories
- define -DQT_GUI_LIB to make QtTest aware that they are gui tests
- compile TestGeoSceneWriter and MercatorProjectionTest only in QTONLY mode, as they use internal classes (not exported, so unavailable when symbol visibility is used)

REVIEW: 107474
Fix to Python bindings for addLayer() and removeLayer()

MarbleWidget::addLayer() takes a pointer to a LayerInterface-derived
object as an argument. The pointer is added to an internal list of
layers that are rendered in the Marble widget. When exposing this
function via Python, the /Transfer/ SIP parameter annotation must be
supplied. This notation indicates to SIP that control of the lifetime
of the object passed via addLayer() is placed in the C++ library's
hands. If you don't do this, then Python might decide to
garbage-collect the layer object when it's no longer used on that side.
That is obviously a bad thing if the layer is still being used by the
widget.

Likewise, the /TransferBack/ annotation is used to return ownership of
the object back to Python if the removeLayer() function is later called
to remove the layer from the widget. At that time, the object can
safely be garbage-collected since it is no longer used by the widget
C++ library.

REVIEW: 104655
Add all (but vibrant) colors from the Oxygen palette

Also introducing Oxygen namespace (Marble::Oxygen) for the colors
instead of the old name prefix.

REVIEW: 107535
Respect KML random color mode in rendering

BUG: 310575
REVIEW: 107478
Use oxygen colors from Marble::Oxygen namespace
Sanitize CMakeLists.txt
Initial commit of opencaching.com plugin
This plugin provides support for showing opencaching.com geocaches on the map.
Details dialog: Add support for verifiable attributes, display tags as icons, small improvements

Improvements include text alignment, method to fill in the dialog to avoid
code duplication, and the hint is now displayed in a textbrowser according
to suggestion.
Added icons for tags.
compile
KML ScreenOverlay reader.

BUG: 310578

Note: Dummy empty line inserted in geodata/CMakeLists.txt to have
cmake pick up the new files. If you still get an undefined reference
for KmlScreenOverlayTagHandler or similar, please invoke cmake
manually to have the GLOB calls execute again.
Test case for <ScreenOverlay> KML tag
Background on icons, so that they can work in dark color schemes

The icons used in the opencaching.com plugin are dark brown with
transperant background, potentially making them [almost] invisible for
users with dark color schemes. By having a light background, this issue
is prevented. Color is taken from opencaching.com palette.

REVIEW: 107564
Add include guard.
Add atmosphere related attributes for celestial bodies

REVIEW: 107569
AtmospherePlugin: Render only if atmosphere exists
Disable Atmosphere menu entry for celestial bodies without one

REVIEW: 107576
Add enable/disable atmosphere menu entry to the KDE version too