device: support reapplying route-table

Changing "ipv4.route-table" and "ipv6.route-table" was not allowed
during reapply.

The main difficulty for supporting that is changing the sync-mode.

With route-table 0, we don't sync all tables but only the main table.
So, when reapply changes from full-sync to no-full-sync, it's slightly
more complicated.

But it's probably not too complicated either. The change from
no-full-sync to full-sync is simple: we just start doing a full-sync.
The reverse change is slightly more complicated, because we need to
do one last full-sync, to get rid of routes that we configured on those
other tables.
14 jobs for th/reapply-route-table in 35 minutes and 25 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
passed #359181
allowed to fail
checkpatch

00:00:59

manual #359186
allowed to fail manual
t_centos:7.5.1804
passed #359187
t_centos:7.6.1810

00:25:42

passed #359190
t_debian:9

00:20:12

passed #359192
t_debian:sid

00:22:30

manual #359191
allowed to fail manual
t_debian:testing
passed #359182
t_fedora:28

00:29:06

passed #359183
t_fedora:29

00:35:25

passed #359184
t_fedora:30

00:29:34

manual #359185
allowed to fail manual
t_fedora:rawhide
passed #359188
t_ubuntu:16.04

00:26:13

passed #359189
t_ubuntu:18.04

00:19:52

 
  External
passed NetworkManager test verification

passed NetworkManager test verification

05:30:39