n-dhcp4: fix state transitions on timer dispatch

Currently in any of the BOUND, RENEWING and REBINDING states the probe
checks the expiration of T1, T2 and lifetime. This is not correct
because, for example, if the timer fires in the RENEWING state, the
probe must not transition to RENEWING again (i.e. check again that
now >= T1). Note that there is no guarantee that the timer triggers
exactly once for T1, T2 and lifetime expirations because the timer is
also used for the retransmission logic in NDhcp4CConnection.

Therefore, add some checks to ensure that only correct transitions are
allowed.
18 jobs for bg/n-dhcp4-state-transitions-rh1773456 in 37 minutes and 18 seconds (queued for 1 minute and 3 seconds)
latest
Status Job ID Name Coverage
  Test
passed #983018
allowed to fail
checkpatch

00:02:09

manual #983024
allowed to fail manual
t_centos:7.5.1804
passed #983025
t_centos:7.6.1810

00:34:55

passed #983031
t_debian:10

00:15:39

passed #983030
t_debian:9

00:17:38

passed #983033
t_debian:sid

00:17:01

manual #983032
allowed to fail manual
t_debian:testing
manual #983019
allowed to fail manual
t_fedora:28
passed #983020
t_fedora:29

00:32:05

passed #983021
t_fedora:30

00:25:28

passed #983022
t_fedora:31

00:25:20

manual #983023
allowed to fail manual
t_fedora:rawhide
passed #983026
t_ubuntu:16.04

00:28:41

passed #983027
t_ubuntu:18.04

00:18:03

manual #983029
allowed to fail manual
t_ubuntu:devel
manual #983028
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/893/

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

05:50:57