filesystem targets: disable default dependencies

This means we can use default dependencies on mount units without having to get them automatically
ordered before the filesystem targets.

Reported-by: Thomas Baechler <thomas@archlinux.org>
fstab-generator: use DefaultDependencies=yes

This removes some redundancy between the generator and the core mount handling.
swap: backing device should unconditionally want swap unit

There is no need to restrict this to only the 'nofail' case. In the '!nofail'
case the unit is already wanted by swap.target, so this is not a functional change.
mount: move device links handling from generator

This makes mount units work like swap units: when the backing device appears
the mount unit will be started.

v2: the device should want the mount unconditionally, not only for DefaultDependencies=yes
mount: filesystems mounted in the initrd should not conflict with umount.target in the real root

These mounts should be kept around and unmounted in the shutdown ramfs.

Currently, we will still attempt to umount these in the final kill spree, but
we should consider avoiding that too. Also, the should_umount function should
be generalised and put into util.c or something like that, but we are still
discussing precisely how.
swap: handle nofail/noauto in core