l3cfg: add NML3ConfigData

Currently NMIP4Config and NMIP6Config both track the data to be
configured, they expose properties on D-Bus, and they have logic for
capturing and applying settings to platform.

We will split that.

- NMIP4Config and NMIP6Config will expose data on D-Bus.

- NML3Cfg will have the logic for handling IP configuration.

- NML3ConfigData will track data to be configured.

NML3ConfigData mirrors NMIP4Config/NMIP6Config in many aspects. For now,
this duplicates a lot of code. More will be done later. Eventually,
NMIP4Config/NMIP6Config will drop the duplicated functionality.
22 jobs for th/l3cfg-1 in 48 minutes and 56 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
passed #3767312
checkpatch

00:01:11

manual #3767319
allowed to fail manual
t_centos:7.5.1804
manual #3767320
allowed to fail manual
t_centos:7.6.1810
manual #3767321
allowed to fail manual
t_centos:7.7.1908
manual #3767322
allowed to fail manual
t_centos:7.8.2003
manual #3767323
allowed to fail manual
t_centos:8.1.1911
manual #3767329
allowed to fail manual
t_debian:10
manual #3767328
allowed to fail manual
t_debian:9
manual #3767331
allowed to fail manual
t_debian:sid
manual #3767330
allowed to fail manual
t_debian:testing
manual #3767313
allowed to fail manual
t_fedora:28
manual #3767314
allowed to fail manual
t_fedora:29
manual #3767315
allowed to fail manual
t_fedora:30
passed #3767316
t_fedora:31

00:48:55

manual #3767317
allowed to fail manual
t_fedora:32
manual #3767318
allowed to fail manual
t_fedora:rawhide
manual #3767324
allowed to fail manual
t_ubuntu:16.04
manual #3767325
allowed to fail manual
t_ubuntu:18.04
manual #3767327
allowed to fail manual
t_ubuntu:devel
manual #3767326
allowed to fail manual
t_ubuntu:rolling
 
  External
failed https://desktopqe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/beaker-NetworkManager-gitlab-trigger-code-upstream/1675/

failed https://desktopqe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/beaker-NetworkManager-gitlab-trigger-code-upstream/1675/

06:29:07