sysusers: fix selinux context of backup files

Also, fix fopen_temporary_label to set proper context. By chance,
all users so far used the same context, so the error didn't matter.

Also, check return value from label_init().

https://bugzilla.redhat.com/show_bug.cgi?id=1121806
update-done: set proper selinux context for .updated

https://bugzilla.redhat.com/show_bug.cgi?id=1121806
Add IFLA_VTI defines to missing.h
configure: add -Wno-typedef-redefinition

Message-ID: <CAJ+BJsz9Qy-JU25dUuGT2n0LMNzcOpoJNGNtbf_boSuT_6hONw@mail.gmail.com>
Merge systemd-verify with systemd-analyze
shell-completion: systemd-analyze verify, systemctl link

Some zsh completion helpers were not installed, so completion
was broken.

Add systemd-analyze verify. Make systemctl link complete only
unit names.
man: merge systemd-verify with systemd-analyze
nss-myhostname: don't include assert.h twice
resolved: rework logic so that we can share transactions between queries of different clients
resolved: implement negative caching
resolved: most DNS servers can't handle more than one question per packet, hence let's not generate that
update TODO
networkd: set route protocol

All routes added by networkd are currently set RTPROT_BOOT, which according
to the kernel means "Route installed during boot" (rtnetlink.h).  But this
is not always the case as networkd changes routing after boot too.  Since
the kernel gives more detailed protocols, use them.

With this patch, user-configured static routes now use RTPROT_STATIC (which
they are) and DHCP routes use RTPROT_DHCP.  There is no define for IPv4LL
yet, so those are installed as RTPROT_STATIC (though perhaps RTPROT_RA is
better?).

[tomegun: fixup
src/network/networkd-link.c:972:33: error: too few arguments to function 'route_new_dynamic']
dhcp-network: remove unused DHCP6_STATE_RS

Probably a left-over from when router solicitations were
requested in the DHCP6 code.  But since they are now separate,
this state is no longer needed.
core: collapse JOB_RELOAD on an inactive unit into JOB_NOP [v2]

The old behavior is inconsistent and confusing, this commit simplifies matters significantly:

Before this commit:
  * systemctl try-restart on any inactive unit returns *success* immediately
  * systemctl reload on an inactive unit without a queued start job returns *failure* immediately
  * systemctl reload on an inactive unit supporting reload with a queued start job blocks until the unit is started
  * systemctl reload on an inactive unit not supporting reload with a queued start returns *failure* immediately
  * systemctl reload-or-try-restart on an inactive unit supporting reload blocks until the unit is started
  * systemctl reload-or-try-restart on an inactive unit not supporting reload returns *success* immediately

With this commit:
  * systemctl try-restart, reload and reload-or-try-restart on any inactive unit returns *success* immediately

By not blocking on a queued start job this also fixes a deadlock when
one job calls systemctl reload or reload-or-try-restart on a unit with
a start job ordered later in the transaction.
sysv-generator: do not generate 'Wants' symlinks to generated service files that will be shadowed by a native unit
rules: skip 99-systemd.rules when not running systemd as init

Otherwise systemd-sysctl will be run even if systemd is not PID 1.
units: make it possible to disable tmp.mount using systemctl

But enable it by default in make install and systemd preset.
units: add RequiresMountsFor=/usr/… to various systemd service files

Unless both /usr and /usr/local is mounted in the initrd these
services might miss some of their configuration otherwise.