This should help making the boot process a bit easier to explore and
understand for the administrator. The simple idea is that "systemctl
status" now shows a link to documentation alongside the other status and
decriptionary information of a service.
This patch adds the necessary fields to all our shipped units if we have
proper documentation for them.
systemctl called LoadUnit, GetUnit, GetAll in this order to get the properties.
It is useless to load units explicitly, because it won't ensure anything. The
unit may be freed immediately by the garbage collector.
It is unnecessary to call GetUnit, because systemctl can easily translate the
unit name to DBus path by itself.
GetAll will load the unit if necessary.
In some cases the main/control PID of a service can be outside of the
services cgroups (for example, if logind readjusts the processes'
cgroup). In order to clarify this for the user show the main/control PID
in the cgroup tree nonetheless, but mark them specially.