libnm/team: strict validate team settings by libnm clients not sending the JSON

When parsing a NMSettingTeam/NMSettingTeamPort from GVariant, the JSON
"config" is always preferred. If that field is present, all other
attributes are ignored (aside from validating that the individual fields
are as expected).

The idea is that the JSON config anyway must contain everything that artificial
properties could. In this mode, also no validation is performed and the setting is
always accepted (regardless whether libnm thinks the setting verifies).

When a libnm client created the setting via the artificial properties,
only send them via D-Bus and exclude the JSON config. This turns on
strict validation server side.

Now we actually get validation of the settings:

  $ nmcli connection add type team team.runner-tx-hash l3
  Error: Failed to add 'team' connection: team.runner: runner-tx-hash is only allowed for runners loadbalance,lacp

this is obviously a change in behavior as previously all settings
would have been accepted, regardless whether they made sense.
14 jobs for th/team-fix in 46 minutes and 34 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
passed #331346
allowed to fail
checkpatch

00:01:31

manual #331351
allowed to fail manual
t_centos:7.5.1804
passed #331352
t_centos:7.6.1810

00:21:49

passed #331355
t_debian:9

00:11:50

passed #331357
t_debian:sid

00:16:44

manual #331356
allowed to fail manual
t_debian:testing
passed #331347
t_fedora:28

00:38:34

passed #331348
t_fedora:29

00:46:32

passed #331349
t_fedora:30

00:24:09

manual #331350
allowed to fail manual
t_fedora:rawhide
passed #331353
t_ubuntu:16.04

00:17:01

passed #331354
t_ubuntu:18.04

00:17:01

 
  External
failed NetworkManager test verification

failed NetworkManager test verification

09:34:33