android: Retrigger roam events on onLinkPropertiesChanged callbacks
In dual-stack environments the IPv6 connectivity (via autoconfiguration)
might be established before the IPv4 connectivity (via DHCP). It seems
Android triggers the CONNECTIVITY_ACTION broadcast already when the first
family is fully configured. At that time we might not be able to find an
IPv4 source address. And since Android does not trigger the broadcast
again if IPv4 connectivity is established, the connection is broken
afterwards.
Since Android 5.0 ConnectivityManager provides a new callback framework.
There the onLinkPropertiesChanged callback is triggered on the active
interface if e.g. new IP addresses or routes get added. We can use
this to trigger additional roaming events when the IPv4 connectivity is
established later. It might get triggered a bit more often than we
like, and it might get triggered when not needed (e.g. if IPv4
connectivity is established before IPv6).