platform: add NMPRulesManager for syncing routing rules

Routing rules are unlike addresses or routes not tied to an interface.
NetworkManager thinks in terms of connection profiles. That works well
for addresses and routes, as one profile configures addresses and routes
for one device. For example, when activating a profile on a device, the
configuration does not interfere with the addresses/routes of other
devices. That is not the case for routing rules, which are global, netns-wide
entities.

When one connection profile specifies rules, then this per-device configuration
must be merged with the global configuration. And when a device disconnects later,
the rules must be removed.

Add a new NMPRulesManager API to track/untrack routing rules. Devices can
register/add there the routing rules they require. And the sync method will
apply the configuration. This is be implemented on top of NMPlatform's
caching API.
5 jobs for th/routing-rule-pt1 in 65 minutes and 20 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
passed #169377
build_f28

00:35:31

passed #169378
build_f_latest

00:35:15

passed #169404
allowed to fail
build_f_rawhide

00:33:51

passed #169376
allowed to fail
checkpatch

00:03:52

failed #169379
allowed to fail
build_f_rawhide

00:07:50