unit-name: fix detection of unit templates/instances

We need to check for the last dot, not the first one in a unit name, for
the suffix. Correct that.
unit-name: various modernizations
update TODO
install: various modernizations
install: simplify and clarify disabling logic for instanced units
install: beef up preset logic to limit to only enable or only disable, and do all-unit preset operations

The new "systemctl preset-all" command may now be used to put all
installed units back into the enable/disable state the vendor/admin
encoded in preset files.

Also, introduce "systemctl --preset-mode=enable-only" and "systemctl
--preset-mode=disable-only" to only apply the enable or only the disable
operations of a "systemctl preset" or "systemctl preset-all" operation.

"systemctl preset-all" implements this RFE:

https://bugzilla.redhat.com/show_bug.cgi?id=630174
install: teach preset query logic --root= support
install: various modernizations
install: use symlink_atomic() instead of unlink()+symlink() when force creating a symlink
install: when looking for a unit file for enabling, search for templates only after traversing all search directories

Let's always make sure to look in all search directories for the full
unit names first, before looking for templates for them.
install: introduce new DefaultInstance= field for [Install] sections

The DefaultInstance= name is used when enabling template units when only
specifying the template name, but no instance.

Add DefaultInstance=tty1 to getty@.service, so that when the template
itself is enabled an instance for tty1 is created.

This is useful so that we "systemctl preset-all" can work properly,
because we can operate on getty@.service after finding it, and the right
instance is created.
install: make sure "systemctl disable foobar@.service" actually removes all instances
install: make sure that --root= mode doesn't make us consider all units outside of search path
log: don't downgrade log level in non-PID 1 if "quiet" is passed on kernel cmdline

"debug" should apply to all tools, but "quiet" only to PID1.
preset: ship a minimal preset file upstream

This is useful so that distros have something to base their own policy
of. It also useful to make sure that minimal installs always get useful
configuration in place.
install: "systemctl enable" should be a nop for template units lacking a DefaultInstance= setting
install: simplify symlink --root= logic
systemctl: output human readable strings in "systemctl enable" and "systemctl disable"
conf-files: fix when for --root= logic

This is based on parts of similar patches from Michael Marineau and
Lukas Nykrin, but simply uses strappenda3().
networkd: don't pull in systemd-networkd-wait-online service from systemd-networkd when enabling

networkd-wait-online should never exist in the default transaction,
unless explicitly enable or pulled in via things like NFS. However, just
enabling networkd shouldn't enable networkd-wait-online, since it's
common to use the former without the latter.