[connman] Re-calculate DHCP timers when waking up from suspend

Modify jolla_wakeup_timer so that it keeps track of the wakeup timers,
executes them when they expire and re-calculates wait timeout when
coming out of suspend.

This is to enable reasonable DHCP timeout performance even when using
CLOCK_MONOTONIC, as converting glib to use CLOCK_BOOTTIME proved to be
more difficult than expected.
[connman] Use wakeup timers in upper level DHCP code

Previously gdhcp client code was changed to use connman wakeup
timers instead of glib timeout sources; make the corresponding
change to upper level code, too.
Merge pull request #125 from hmallat/check-dhcp-timers-on-wakeup

[connman] Re-calculate DHCP timers when waking up from suspend
[connman] Fix GSource allocation, wakeup timer execution

Do not execute a wakeup timer with zero timeout from within the
function that adds the timeout; otherwise a one-shot timer would get
removed before source ID is returned to the caller.

Also, completely free dummy GSource when it's cleaned up.

Created a unit test application for wakeup timers; added a test case
for exercising connman_wakeup_timer().
Merge pull request #129 from hmallat/wakeup-timer-source-handling

[connman] Fix GSource allocation, wakeup timer execution
[connman] Clean up wakeup timer unit test

Use stubs instead of actual IPHB implementation, so that the unit test
can be run successfully also in the development environment.
Merge pull request #130 from hmallat/wakeup-timer-unit-test-cleanup

[connman] Clean up wakeup timer unit test
gsupplicant: Add property calls to property_calls list

Although the logic for handling property call list was available, the
property call list was not being populated.
Merge pull request #131 from hmallat/upstream-property-call-list-fix

gsupplicant: Add property calls to property_calls list
[connman] Do not try to do wispr_manage_message but open browser instead
dhcpv6: Remove CONFIRM message sending when connecting a link

The CONFIRM message is not sent any more as it does not make much
sense because we do not save address expiration time so we cannot
really know how long the saved address is valid anyway.

The reply to CONFIRM message does not send expiration times back
to us so we cannot get them from server either. Because of this
we need to start using SOLICITATION anyway when a link is
connected.

Thanks to Pasi Sjöholm for reporting this.
[connman] Clean up wakeup timer unit test

Use stubs instead of actual IPHB implementation, so that the unit test
can be run successfully also in the development environment.
dhcpv6: Reset last_request to current time with renew and rebind

last_request needs to be set current time also with renew and rebind
or otherwise the values set by g_dhcpv6_client_get_timeouts will not
be changed.

This fixes the issues with __connman_dhcpv6_start_renew and
check_restart comparing incorrect started,expired-values to current
time after successful renew/rebind.
gdhcp: RFC3315 18.1.3 Allow setting valid lifetime to lower value

Server's value for valid lifetime can be set lower during during
rebind/renew if server configuration has been changed or if the
server wants to remove the address from the IA by setting valid
life time to zero.
network: Remove expired IPv6 address lease set to interface

If IPv6 address leased from DHCPv6 server somehow gets expired it
needs to be removed from the interface and not to be left in place.
dhcpv6: Remove the old IPv6 address from the interface

If interface gets assigned a new ipv6 address during renew/rebind we
need to make sure that the old ipv6 address is removed from the
interface and not left in place.
network: Set IPv6 ipconfig if it is missing

Following scenario is possible:
- we have a wifi service A connected and IPv6 is enabled for it
- we connect to other IPv6 enabled service B
- the first service is disconnected
- kernel sends rtnl messages related to events that are done   when
  we connect/disconnect the services
- if A service's link down event is received after we have received
  B's link up, then we will remove the ipv6 config from service B
- this has the effect that IPv6 addresses are not known by service B
  any more

So when we receive a reply to router solicitation message, we check
if the IPv6 config is still there in service B. If it is not, then
we can create it so that service gets the IPv6 config back.

The missing IPv6 config can only happen if we are switching from one
service to another. If we disconnect first service A and then
connect service B, no issues were seen.
ipconfig: Do not disable kernel IPv6 support when disabling ipconfig

When ipconfig is disabled, it is not really necessary to disable
IPv6 support. Doing so will lead to issues when switching from
one service to another in the same network interface. User would
see that the IPv6 is disabled in kernel although user has IPv6
enabled in the service.

Thanks to Arjuna S <arjunasiva@gmail.com> for reporting this.
ipconfig: Do not enable or disable IPv6 unconditionally

When setting an ipconfig it is not known whether the service is in
active use or idling. Therefore enabling or disabling IPv6 cannot
happen at this point.
service: Allow setting a passphrase for provisioned WiFi EAP services

Allow changing of WiFi EAP passphrases for a provisioned service as they
cannot always be preconfigured. The same applies to WiFi EAP identities,
but there modification was already allowed.

Thanks to Thomas Green for reporting the issue.