android-daemon: Restart the daemon on upgrades

By listening on the action MY_PACKAGE_REPLACED it is possible to restart the daemon
in case of upgrades.
Merge pull request #60 from morgenroth/Restart-android-service-on-upgrade

android-daemon: Restart the daemon on upgrades
ibrcommon: Code clean-up of __compat_select()
ibrcommon: Use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC

Use CLOCK_BOOTTIME for monotonic clock references because in contrast to
CLOCK_MONOTONIC it includes seconds spend in suspend / deep sleep.
ibrcommon: Remove monotonic clock methods for relative time-stamps
ibrcommon: Code-style fixes
Merge pull request #61 from morgenroth/Improve-monotonic-time-code

Improve monotonic time functions
ibrcommon: Use CLOCK_BOOTTIME only if defined
Merge pull request #62 from morgenroth/Use-boottime-clock-only-if-defined

ibrcommon: Use CLOCK_BOOTTIME only if defined
ibrdtn: Make non-reference clocks independent from outer clock adjustments

Before this patch it was possible to disturb the time-synchronization process by
setting the hosts clock individually. Now, a reference is recorded at the start and
adjustments are applied to this value. The current time-stamp is then calculated using
the BOOT_TIME / MONOTONIC_TIME of the host and the previously stored reference.
That way it is not possible change internal clock by setting the host time.
Merge pull request #63 from morgenroth/Independent-internal-clock

ibrdtn: Make non-reference clocks independent from outer clock adjustments
android-daemon: Enforce Holo design on v11 and up

Android L applies material design by default. Since that theme does not include a
home button, the ShowcaseView fails. As long as this issue is not solved, we have
to disable material design completely.
Merge pull request #64 from morgenroth/Disable-material-design

android-daemon: Enforce Holo design on v11 and up
android-daemon: Prevent frequent switches into discovery mode
Merge pull request #66 from morgenroth/Minimize-discovery-mode-switches

android-daemon: Prevent frequent switches into discovery mode
daemon: Make TCP keep-alive time-out configurable

The option "keepalive_timeout" now defines a keep-alive time-out in seconds for
connections. The TCP-CL connection sends its keep-alive packets in this interval.
android-daemon: Increase keep-alive timeout interval

The new option "keepalive_timeout" allows to define a larger interval for TCP
keep-alive packets. We increase this value to keep the device longer in sleep mode
and save some energy.
Merge pull request #67 from morgenroth/Increase-keepalive-timeout

Increase keep-alive time-out
daemon: Reduce pro-active exchange of routing data if PRoPHET routing is active

Prior to this patch, the PRoPHET routing implementation exchanges routing data with all
neighbors in a configurable interval. This pro-active behavior is removed now and replaces
through a reactive approach. Every time more recent PRoPHET routing data is necessary,
the routing module will trigger the handshake.
Merge pull request #68 from morgenroth/Disable-proactive-routing-handshake-using-PRoPHET

daemon: Reduce pro-active exchange of routing data if PRoPHET routing is active