[connman] fix service structure access while unreferencing

It's unsafe to access service struct after possibly unreferencing it
for the last time, so needed to change the order of statements in
stop_recurring_online_check() so that access after last unref isn't
possible.
[connman] network: protect service structure access with reference

As __connman_connection_gateway_remove() may unref service, wrap
network.c:set_disconnected() with connman_service_ref/unref to make
sure the struct stays around during the function call.
[connman] network: index needs to be set also for ip6config

Fixes the issue that network index was not set for
ipv6-connections and therefore slaac/dhcpv6 was
not working e.g. ofono cellular connections.
[connman] ofono: Implement protocol-message handling for context_changed

Reset ipv4/6_method to CONNMAN_IPCONFIG_METHOD_UNKNOWN when
protocol is set ip/ipv6/dual on ofono, which can be only
done when context is not active.
[connman] ofono: Do not set address or nameservers with invalid configuration
[connman] ofono: Set CONNMAN_IPCONFIG_METHOD_AUTO when no address defined

IPv6 configuration method is either CONNMAN_IPCONFIG_METHOD_FIXED
(ipv6-pdp) or CONNMAN_IPCONFIG_METHOD_AUTO (SLAAC/DHCPv6,
dual/ipv4v6-pdp).
[connman] ofono: Old nameservers need to be cleared

Nameservers need to be reset when new addresses are extracted
if method is not FIXED so that they are not reused when
pdp-protocol e.g. changes from ipv6 to dual/ipv4v6.
[connman] ofono: make sure valid addresses/methods are used in set_connected

When connection is set connected, method needs to be set
CONNMAN_IPCONFIG_METHOD_UNKNOWN so that no old configuration
is used in case only ipv4/ipv6-configuration is set.

IPv6 can be also CONNMAN_IPCONFIG_METHOD_AUTO with dual/ipv4v6.