shared: include root when canonicalizing conf paths

The conf_files_list family accepts an alternate root path to prefix all
directories in the list but path_strv_canonicalize_uniq doesn't use it.
This results in the suspicious behavior of resolving directory symlinks
based on the contents of / instead of the alternate root.

This adds a prefix argument to path_strv_canonicalize which will now
prepend the prefix, if given, to every path in the list. To avoid
answering what a relative path means when called with a root prefix
path_strv_canonicalize is now path_strv_canonicalize_absolute and only
considers absolute paths. Fortunately all users of already call
path_strv_canonicalize with a list of absolute paths.
man: systemd.service(5): clarify behavior of SuccessExitStatus

The behavior of this is a little cryptic in that $MAINPID must exit as
a direct result of receiving a signal in order for a listed signal to
be considered a success condition.
build-sys: fix for "recipe for target 'dbus1-generator-install-hook' failed"
service: if we don't know the main pid of a service, we cannot accept any notification messages
service: when we complain about a notify message we cannot map to main pid because we don't know anything about the main pid, do so at debug level
localectl: log error if bus_map_all_properties() fails
man: always place <programlisting> and </programlisting> in a line with actual sources, so that we don't get spurious newlines in the man page output
nspawn: don't accept just any tree to execute

When invoked without -D in an arbitrary directory we should not try to
execute anything, make some validity checks first.
update TODO
nspawn: if we don't find bash, try sh
test: make the image bigger

I got some errors about lack of disk space... 100MB either way
shouldn't matter.
test: print the important commands to make debugging easier
units: systemd-logind fails hard without dbus

That is, without --enable-kdbus and kdbus running.

With --enable-kdbus things are more complicated, because dbus might be
necessary, if kdbus is missing at runtime. If it is not necessary,
the socket will be started, which is not imporant, but not the service.
test: add basic seccomp tests
core: fix detection of dead processes

Commit 5ba6985b moves the UNIT_VTABLE(u)->sigchld_event before systemd
actually reaps the zombie. Which leads to service_load_pid_file accepting
zombie as a valid pid.

This fixes timeouts like:
[ 2746.602243] systemd[1]: chronyd.service stop-sigterm timed out. Killing.
[ 2836.852545] systemd[1]: chronyd.service still around after SIGKILL. Ignoring.
[ 2927.102187] systemd[1]: chronyd.service stop-final-sigterm timed out. Killing.
[ 3017.352560] systemd[1]: chronyd.service still around after final SIGKILL. Entering failed mode.
man: fix grammatical errors and other formatting issues

* standardize capitalization of STDIN, STDOUT, and STDERR
* reword some sentences for clarity
* reflow some very long lines to be shorter than ~80 characters
* add some missing <literal>, <constant>, <varname>, <option>, and <filename> tags
man: replace STDOUT with standard output, etc.

Actually 'STDOUT' is something that doesn't appear anywhere: in the
stdlib we have 'stdin', and there's only the constant STDOUT_FILENO,
so there's no reason to use capitals. When refering to code,
STDOUT/STDOUT/STDERR are replaced with stdin/stdout/stderr, and in
other places they are replaced with normal phrases like standard
output, etc.
man: use spaces instead of tabs

Several sections of the man pages included intermixed tabs and spaces;
this commit replaces all tabs with spaces.
util: fix mismatching function signature
Fix prototype of get_process_state