libudev: set errno when udev_device_new_from_* or udev_device_get_parent_* fail
Revert "networkd: don't assume udev_device_new_from_device_id sets errno"

libudev now does set errno correctly, so we can indeed rely on this.

This reverts commit 2b49732c3d511007ae2c413997e56c40f678d79a.
nss: always explicitly reset all error variables

glibc appears to be broken if we don't explicitly reset all error
variables, let's work around that.

https://bugzilla.redhat.com/show_bug.cgi?id=1125975
resolved: beef up DNS server configuration logic

We now maintain two lists of DNS servers: system servers and fallback
servers.

system servers are used in combination with any per-link servers.

fallback servers are only used if there are no system servers or
per-link servers configured.

The system server list is supposed to be populated from a foreign tool's
/etc/resolv.conf (not implemented yet).

Also adds a configuration switch for LLMNR, that allows configuring
whether LLMNR shall be used simply for resolving or also for responding.
resolved: rename resolved.h to resolved-manager.h

After all it pretty much exlcusively containers definitions about the
"Manager" object, hence let's call this the most obvious way.
libudev: use get_*_creds from shared rather than util_lookup_*
TODO
sd-dhcp-client: allow the max dhcp message size to be set to the MTU of the link
networkd: track the MTU of each link

And inform the DHCPv4 clients about it.
resolved: read the system /etc/resolv.conf unless we wrote it ourselves

This way we integrate nicely with foreign network management stacks,
such as NM.
resolved: flush cache each time we change to a different DNS server
update TODO
missing: add missing bonding definitions
resolved: IPV6_UNICAST_IF may fail if we already are bound to a device, like we are for link-local addresses
resolved: always drop multicast membership before adding one

This is apparently necessary on some devices, such as veth.
Revert "libudev: use get_*_creds from shared rather than util_lookup_*"

This reverts commit a56ba6158b9649e01226dfaf3ff7082c82571090.

The commit was pushed in error.
build-sys: fix conftest.c to work on arm

All tests for compiler support were failing with:

/usr/bin/ld: /tmp/ccwnVc2A.o: relocation R_ARM_MOVW_ABS_NC against `a' can not be used when making a shared object; recompile with -fPIC
util.h: include missing.h, for struct file_handle

This breaks udev-builtin-btrfs.c, which reinvents some of missing.h,
so use missing.h there too.

[zj: removed #include "config.h" and wrapped #include <linux/btrfs.h>
     in ifdef HAVE_LINUX_BTRFS_H as discussed on the mailing list.]
Move BTRFS_IOC_DEVICES_READY to missing.h
ldconfig: dont run it if ldconfig is not installed