Restructure target units

This commit removes per-service target units and replaces them with
three common targets. There are several advantages to this. Firstly,
it's much easier to mix and match services; any combination of display
manager, session manager, and autostarting applications is just a
"systemctl enable" away. Secondly, the new cmdline and graphical targets
roughly correspond to systemd's built-in basic and graphical system
targets, so users will already be familiar with the proper procedures
for setting up the units. Thirdly, a lot of duplicate code is moved
out of the per-service targets and consolidated into the new targets.
This makes maintenance easier and reduces the number of installed
files.

The new targets are as follows;

 - cmdline.target: A basic target which non-graphical services
   should add themselves to as dependencies.

 - display-server.target: This target is intended to abstract away
   the specifics of the running display server. Currently, it
   starts xorg, but it can be extended in the future to use an
   alternate server, such as a Wayland or Mir compositor.

 - graphical.target: Serves the same purpose as cmdline.target
   except for services that require a display server to be running.
   As well as display-server.target, it also wants the special
   service files window-manager.service and session-manager.service.
   These services are aliases to the desired window and session
   managers and are installed using "systemctl enable".