libnm/libnm-util: add VPN 'persistent' property
vpn: allow plugins to re-enter the STARTING state to indicate reconnect

If the VPN re-enters the STARTING state to indicate that it has
disconnected from the VPN server and is trying to reconnect, change
the VPN connection's state to indicate that connectivity may be
limited.  Wait for the VPN to provide updated IP configuration
information from the reconnect to change back to the ACTIVATED
state.
vpn: add plugin 'can-persist' key

If set to 'yes', and the VPN connection specifies persistence, then
NetworkManager will allow the VPN connection to stay up over link
changes.
vpn/core: move VPN gateway route between devices when routing changes
vpn: reconnect on service failures (bgo #349151)

Attempt to reconnect the VPN on failures, except when the underlying
device fails.

https://bugzilla.gnome.org/show_bug.cgi?id=349151
clients: move secret agent to common directory

The agent code will be shared by both nmtui and nmcli.
clients: add real property name to NmSecretAgentSimpleSecret

It is necessary to identify secrets uniquely in nmcli.
cli: use secret agent for getting passwords from user

--ask option has to be used, so that nmcli can be interactive.
cli: add 'passwd-file' option for 'nmcli connection up' to provide passwords

It is useful for running nmcli without --ask option, i.e non-interactively.

Example contents of the file:
wifi.psk: s e c r e t 12345
802-1x.password:kili manjaro
802-1x.pin:987654321
clients: add common code for polkit agent listener

that can be used by nmcli and nmtui
configure: check whether polkit-agent-1 is available
cli: add a polkit agent support for nmcli

Example: nmcli --ask general hostname computer007
fixup! vpn/core: move VPN gateway route between devices when routing changes

Also add gs_unref attribute, so that codepaths that fail g_return() are
not completely broken by leaking a reference
fixup! vpn/core: move VPN gateway route between devices when routing changes
Merge remote-tracking branches 'fd/dcbw/vpn-reconnect' and 'fd/jk/clients-pkagent' into review