core: only set the kernel's timezone when the RTC runs in local time

We can not reliably manage any notion of local time. Every daylight
saving time change or time zone change by traveling will make the
time jump, and the local time might jump backwards which creates
unsolvable problems with file timestamps.

We will no longer tell the kernel our local time zone and leave
everything set to UTC. This will effectively turn FAT timestamps
into UTC timestamps.

If and only if the machine is configured to read the RTC in local
time mode, the kernel's time zone will be configured, but
systemd-timesysnc will disable the kernel's system time to RTC
syncing. In this mode, the RTC will not be managed, and external
tools like Windows bootups are expected to manage the RTC's time.

https://bugs.freedesktop.org/show_bug.cgi?id=81538
factory: PAM - add generic fallback config

Single PAM fallback config file to be used in /etc to allow
bootstrapping of a system with an empty /etc.
factory: nss - add generic config
parse_boolean: require exact matches

Require exact matches in all cases instead of treating strings
starting with 't' ('f') as true (false).

This is required for config_parse_protect_system to parse ProtectSystem=full
correctly: it uses parse_boolean and only tries a more specific parsing
function if that did not return a valid result. Thus "full" was treated as
"false" before.
drop_duplicates: copy full BindMount struct

At least

  t->ignore = f->ignore;

is missing here. Just copy the full struct to be sure.
shell-completion: prevent mangling unit names (bash)

This fixes the issue noted by Zbigniew in most cases.
if a unit's name is enclosed in single quotes completion still
will not happen after the first `\'.

https://bugs.freedesktop.org/show_bug.cgi?id=78388
journald: always add syslog facility for messages coming from kmsg

Set SYSLOG_FACILITY field for kernel log messages too. Setting only
SYSLOG_IDENTIFIER="kernel" is not sufficient and tools reading journal
maybe confused by missing SYSLOG_FACILITY field for kernel log messages.
sd-dhcp-client: only verify UDP messages

RAW messages are verified by the BPF in the kernel.
sd-dhcp-client: drop event DHCP_EVENT_NO_LEASE

Keep this internal to the client and simply restart it when NAK is receieved, as
per the RFC.
dhcp-network: enable IP_FREEBIND for UDP sockets

This allows the sockets to be bound to a specific address before it is configured,
also enable SO_REUSEADDR to allow multiple DHCP clients to run at the same time.
sd-dhcp-client: listen on UDP socket as soon as a lease is acquired

This is necessary in order to listen for FORCERENEW events.
sd-dhcp-client: add support for FORCERENEW

This partially implements RFC3203. Note that we are not fully compliant as we do not
support authentication.
sd-dhcp-server: add forcerenew support
networkd: store ifindex as int
networkd: unify handling of stacked netdevs
networkd: route/address - use trivial hash functions
Merge remote-tracking branch 'upstream/master'