agent-manager: Don't ever fail the secrets requests if they are user initiated

VPN connections always return true for nm_connection_need_secrets(), but the
documented behavoir 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

This makes it a bit easier to get what the error is in case the problem with
header fields is a programming error and not a problem with user-supplied input.
Merge remote-tracking branches 'fd/lr/ipv6-tokens', 'fd/lr/veth-managed', 'fd/lr/no-udev' and 'fd/lr/vpn-fixes' into integration