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.
systemctl: make sure daemon-reload returns success

Also change sd_bus_message_exit_container to return -ENOENT
when not in a container, to make it easier to distinguish different
errors.
bus: fix build with old glibc
man: udev - add documentation for .link files
man: networkd - add documentation
button: don't exit if we cannot handle a button press
analyze: plot the time spent setting up security modules
build-sys: subtract list of exported symbols from "check-api-unused" list
bus: use ENXIO as error condition when trying to exit a container when we are not in any

So far we used ENXIO whenever the user tried to read something from a
function that didn't carry the right type, and hence use the same error
here to indicate that what the user expected and what was in the message
didn't match up.
bus: actually export sd_utf8_is_valid() and sd_ascii_is_valid()
bus: we really need to get rid of the :no-sender hack

This is where a hack from PID 1 spilled into the client side. We need
to get rid of this as soon as PID 1 is converted to libsystemd-bus.
udev.xml: minor fixes to network link configuration

- Refer to net_setup_link, not net-setup-link
- Mention the required file extension earlier