Do not unescape unit names in [Install] section

https://bugs.freedesktop.org/show_bug.cgi?id=49316
analyze/run: use bus_open_transport_systemd instead of bus_open_transport

Both systemd-analyze and systemd-run only access org.freedesktop.systemd1
on the bus. This patch allows using systemd-run --user and systemd-analyze
--user even if the user session's bus is not properly integrated with the
systemd user unit.

https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports...
test-dhcp-option: fix memleak
build-sys: bump package and library version
hostnamed: Fix the way that static and transient host names interact

It is almost always incorrect to allow DHCP or other sources of
transient host names to override an explicitly configured static host
name.

This commit changes things so that if a static host name is set, this
will override the transient host name (eg: provided via DHCP). Transient
host names can still be used to provide host names for machines that have
not been explicitly configured with a static host name.

The exception to this rule is if the static host name is set to
"localhost". In those cases we act as if no
static host name has been explicitly set.

As discussed elsewhere, systemd may want to have an fd based ownership
of the transient name. That part is not included in this commit.
NEWS: update NEWS file according to most recent changes in git
NEWS: mention that we need a new user systemd-timesync
build-sys: use glibc's xattr support instead of requiring libattr
virt: rework container detection logic

Instead of accessing /proc/1/environ directly, trying to read the
$container variable from it, let's make PID 1 save the contents of that
variable to /run/systemd/container. This allows us to detect containers
without the need for CAP_SYS_PTRACE, which allows us to drop it from a
number of daemons and from the file capabilities of systemd-detect-virt.

Also, don't consider chroot a container technology anymore. After all,
we don't consider file system namespaces container technology anymore,
and hence chroot() should be considered a container even less.
fsck: include device name in the message about missing fsck
units: use KillMode=mixed for systemd-nspawn@.service

This causes the container to shut down cleanly when the service is
stopped.
util: ignore_file should not allow files ending with '~'

ignore_file currently allows any file ending with '~' while it
seems that the opposite was intended:
a228a22fda4faa9ecb7c5a5e499980c8ae5d2a08
udev-builtin-keyboard: do tell on which device EVIOCSKEYCODE failed.

I am getting

"Error calling EVIOCSKEYCODE (scan code 0xc022d, key code 418): Invalid
argument", the error message does not tell on which specific device the
problem is, add that info.
tty-ask-password-agent: Do tell what directory we failed to open
timesyncd: split privilege dropping code out of timesyncd so that we can make use of it from other daemons too

This is preparation to make networkd work as unpriviliged user.
units: remove CAP_SYS_PTRACE capability from hostnamed/networkd

The ptrace capability was only necessary to detect virtualizations
environments. Since we changed the logic to determine this to not
require priviliges, there's no need to carry the CAP_SYS_PTRACE
capability anymore.
networkd: run as unpriviliged "systemd-network" user

This allows us to run networkd mostly unpriviliged with the exception of
CAP_NET_* and CAP_SYS_MODULE. I'd really like to get rid of the latter
though...
README: document the new "systemd-network" user we require for systemd-networkd
keyboard: add Plantronics .Audio mute button

https://bugs.freedesktop.org/show_bug.cgi?id=79495
tmpfiles: systemd.conf - fix ownership of network directories