substitute: Preserve newlines at the end of file

Newer version of udev require that files contain newlines at the end.
Many of the udev rules use substitute to replace hardcoded binary paths
with nix compatible binaries. Unfortunately, this breaks on the new
version of udev since substitute always strips the newline from the end
of a file it modifies.

This patch fixes the above behavior of substitute, by determining if the
original file had a newline at the end, and appends it to the modified
file.
stage1: Systemd libraries were renamed
systemd: Remove shutdown.target.wants
systemd: Upgrade from 203 -> 211
cpupower: Add package to replace cpufrequtils
cpu-freq: Use cpupower instead of cpufrequtils

Additionally, put the powersave utility in charge of loading the
cpufrequency modules based on the governor specified in the
configuration.
systemd: Add slices target
systemd: Add networkd service
stage 1: Remove scsi_wait_scan as it is not supported after kernel 3.7