util: consider 0x7F a control chracter (which it is: DEL)

Let's better be safe than sorry.
main: explain our /etc empty check a bit in a comment
update TODO
shared: make timezone and locale enumeration and validation generic

This way we can reuse it other code thatn just localectl/localed +
timedatectl/timedated.
util: don't consider tabs special in string_has_cc() anymore

Instead, take a list of exceptions to our usual CC check
fileio: simplify write_env_file()
man: add missing archs to ConditionArchitecture= description
man: chroot jails are no longer detected by ConditionVirtualization=
architecture: add string table entries for mips-le archs which were missing
firstboot: add new component to query basic system settings on first boot, or when creating OS images offline

A new tool "systemd-firstboot" can be used either interactively on boot,
where it will query basic locale, timezone, hostname, root password
information and set it. Or it can be used non-interactively from the
command line when prepareing disk images for booting. When used
non-inertactively the tool can either copy settings from the host, or
take settings on the command line.

$ systemd-firstboot --root=/path/to/my/new/root --copy-locale --copy-root-password --hostname=waldi

The tool will be automatically invoked (interactively) now on first boot
if /etc is found unpopulated.

This also creates the infrastructure for generators to be notified via
an environment variable whether they are running on the first boot, or
not.