agent-manager: Don't ever fail the secrets requests from GetSecrets()

VPN connections always return true for nm_connection_need_secrets(), but the
documented behavior of GetSecrets() is just to return any secrets we have
(otherwise nmcli c --show-secrets would not be useful for VPN connections).
core: Don't wipe out VPN secrets if we're changing the connection

The VPN secret properties are hashes and thus don't have a usefult default
value. It's safe to assume that an empty hash does not hold a secret value.
cli: Expose vpn.persistent property
cli: Error out early if we fail parsing header fields and don't handle errors

parse_output_fields() crashes if it encounters an error (nonexistend column)
and it is called with error == NULL. That should never happen, as it's never
called with NULL error against user input. However, it is useful to assert
that is the case -- it gives us a more useful crash in case of a programmer
error.
device: don't disconnect assumed connections

Transition them to activated status when they fail.

https://bugzilla.redhat.com/show_bug.cgi?id=1141264
device: don't fail assumed connections when IP config is unavailable

Progress the to check-ip with whatever configuration that is available.

https://bugzilla.redhat.com/show_bug.cgi?id=1141264
platform: Ensure all objects in link cache are of AF_UNSPEC family

We assume that in nm_nl_cache_search() and correctly set that in
get_kernel_object(), but we rtnl_link_alloc_cache() can initialize the cache
with devices of other families.

The consequence is that we don't notify when the bridge changes to IFF_UP as we
fail to match and remove the old downed object from the cache:

  nm_device_bring_up(): [0xf506c0] (bridge0): bringing up device.
  nm_platform_link_set_up(): link: setting up 'bridge0' (12)
  link_change_flags(): link: change 12: flags set 'up' (1)
  get_kernel_object(): get_kernel_object for link: bridge0 (12, family 7)
  log_link(): signal: link   added: 12: bridge0 <UP> mtu 1500 bridge driver 'bridge' udi '/sys/devices/virtual/net/bridge0'
  get_kernel_object(): get_kernel_object for link: bridge0 (12, family 7)
  log_link(): signal: link changed: 12: bridge0 <UP> mtu 1500 bridge driver 'bridge' udi '/sys/devices/virtual/net/bridge0'
  log_link(): signal: link changed: 12: bridge0 <UP> mtu 1500 bridge driver 'bridge' udi '/sys/devices/virtual/net/bridge0'
  (bridge0): device not up after timeout!
  (bridge0): preparing device
device: Relase and enslave an interface if it master changed

In case of an atomic master change, we'd not notice that the master changed:

  ip link set dummy0 master bridge0
  ip link set dummy0 master bridge1
device: Set the master on device addition

Otherwise we won't notice the device is a slave on NM startup until someone
changes the link or tries to activate the device.
device: Assume connections for device with slaves

If a bridge/team/bond has slaves, assume it's connected. Recheck as devices
appear.

https://bugzilla.redhat.com/show_bug.cgi?id=1141266
Merge remote-tracking branch 'fd/lr/assumed-activation-rh1141264' into lr/bridge

Needs to be here, unless bridge fails the assumption attempt immediately due to
ip-config-unavailable.
Merge remote-tracking branches 'fd/lr/ipv6-tokens', 'fd/lr/veth-managed', 'fd/lr/no-udev', 'fd/lr/vpn-fixes' and 'fd/lr/bridge-rh1141266' into integration