net-util: add inet address/family parsing
networkd: add a basic network daemon

This daemon listens for and configures network devices tagged with
'systemd-networkd'. By default, no devices are tagged so this daemon
can safely run in parallel with existing network daemons/scripts.

Networks are configured in /etc/systemd/network/*.network. The first .network
file that matches a given link is applied. The matching logic is similar to
the one for .link files, but additionally supports matching on interface name.

The mid-term aim is to provide an alternative to ad-hoc scripts currently used
in initrd's and for wired setups that don't change much (e.g., as seen on
servers/and some embedded systems).

Currently, static addresses and a gateway can be configured.

Example .network file:

[Match]
Name=wlp2s0

[Network]
Description=My Network
Gateway=192.168.1.1
Address=192.168.1.23/24
Address=fe80::9aee:94ff:fe3f:c618/64
zsh-completion: Move output modes to autoload
zsh-completion: Move machine listing to autoload

Instead of having two different listings of machines, use an autoloaded
function that can be used by other shell completions in the future. It
will also allow editing a single file to change the way machinectl and
systemd-run completion for machines.
man,units: fix installation of systemd-nspawn@.service and add example
systemd: fix memory leak in cgroup code

If the unit already was in the hashmap, path would be leaked.
build-sys: simplify defined/undefined definition
systemctl: fix printing of individual properties
network: fix tests

One of the tests were assuming the network configuration dirs exist. We
can't do that, so disable it for now.