Attempts to fix cyclical dependencies in systemd units
Attempts to eliminate some systemd unit cyclical dependencies (#181)
* Adjusts ordering and requirements for /cache mounts and formatting if the disk to avoid cyclical dependencies (caused by implicit dependencies).
* Makes format-cache.service depend on local-fs-pre.target to be sure that disk devices are available.
* Configures format-cache.service to start after dev-sda.device.
* Adds Requires=dev-sda.device to format-cache.service.
* Removes Requires=dev-sda.device to format-cache.service.
* Removes ordering and dependency statements from mounts and moves them all to format-cache.service, since that is the unit that needs to be treated in a non-default way.
* Tries relying solely on RequiresMountsFor.
* Removes RequiresMountsFor, and readds Before, and adds RequiredBy for various mounts.
* Moves RequiredBy to Install section, adds back DefaultDependencies=no.
* Adds brief comments about why we add certain dependencies and ordering.