sd-rtnl: message - make room for all pending messages, not just the first

Also, don't actually read any of the message when peeking, just get its length.
sd-rtnl: message - don't put NULL message on rqueue

If nothing interesting was receieved we should not put anything on
the queue.
sd-rtnl: message - concatenate multi-part messages from different packets
sd-rtnl: add multi-part message test
sd-rtnl: message - expose DUMP flag in the api
nss-myhostname: port to sd-rtnl
networkd: tie links to rtnl rather than udev

This essentially swaps the roles of rtnl and udev in networkd. After this
change libudev is only used for waiting for udev to initialize devices and
to get udev-specific information needed for some [Match] attributes.

This in particular simplifies the code in containers where udev is not really
useful, but also simplifies things and reduces round-trips in the non-container
case.
networkd: netdev - set predictable mac address when creating netdev
networkd: netdev - verify name of newlink messages
networkd: netdev - give up early when setting already set ifindex

We may receive RTM_NEWLINK messages with missing LINKINFO after the initial NEWLINK message,
don't bother verifying these, just drop out early after checking that the ifindex is not in conflict.
network: implement masking of .link, .network and .netdev files
sd-rtnl: socet_read_message - make sure we only shrink the partial rqueue when processing multi-part message
networkd: link - track interface renames
networkd: manager - add a bit of debug output to udev ADD events
networkd: order after udev kernel socket

Otherwise we will not be able to queuery whether devices are initialized on kdbus enabled systems.
Handle Unix domain socket connections from outside our namespace v2

This is a second attempt at 9754d56, reverted in 2f20a8e, because
I lost a 'break;' when moving chunks around.
cryptsetup: copy value, not key for (rd.)luks.key
sd-rtnl: log when queues are exhausted
udev: link-config - treat any non-random mac address as persistent

The address may be already changed by other processes, or set
when creating the netdev from userspace.
networkd: link - make debug logging a bit more readable

Drop leading zeros which will never be used when printing the link flags.