[connman] plugins: Create an interface for wakeup timers

Mobile phones and other battery-powered systems may suspend often and
for long periods of time. However, connman may need to perform
scheduled operations such as DHCP renewal at specific times regardless
of whether the system is suspended or not.

Provide a plugin interface for implementing wakeup timers which can be
used to request the system to wake up from suspend at a given
time. These timers are intended for relatively infrequent events which
do not need high timing precision, not as general purpose replacement
for g_timeout functions, as wakeup from suspend can be a slow and
expensive operation.

If no wakeup timer is implemented, regular glib timeouts are used.

Note that only one wakeup timer plugin may be registered at a time.
[connman] plugins: Implement IPHB wakeup timer

Implement a wakeup timer based on libiphb (DSME).
[connman] gdhcp: Change DHCP client to use wakeup timers

Renewing DHCP leases is an operation that needs to be done even if the
device is suspended; use wakeup timers for DHCP client timeouts to
ensure device wakes up from suspend when needed.
gdhcp: Save the DHCP server IP when REBOOTING

We need to save the server IP when REBOOTING as well as SELECTING.
Without this, DHCP renew will never work, because we don't know where
to send the unicast renew packets.
gsupplicant: Reassign best_bss pointer when that bss is removed

When the bss to which best_bss points to is removed, the pointer also
needs to be reassigned, or reference to already deallocated memory may
happen later on.

[connman] gsupplicant: Reassign best_bss pointer when that bss is removed
Merge pull request #107 from hmallat/best-bss-reassignment

gsupplicant: Reassign best_bss pointer when that bss is removed
Merge pull request #105 from hmallat/iphb-wakeup

Iphb wakeup