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 basic and desktop 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;

 - basic.target: Brings up dbus and xorg, the two essential
   services.

 - autostart.target: Runs after the window and session managers
   are initialized and is the target that most units will add
   themselves to as dependencies.

 - desktop.target: Is symlinked as default.target and depends on
   the other two targets as well as the special service files
   window-manager.service and session-manager.service. These files
   are aliases to the desired window and session managers and are
   installed using "systemctl enable".