Move X11 specific code from Display to DisplayServer

A step forward for a display server agnostic sddm.
With Wayland support coming soon we want display server specific code
not scattered all over the place.
Configuration returns "." as stateDir in test mode

Move this logic to Configuration to automatically get the
appropriate value.
Introduce runtime directory and use it for Xauthority

Runtime directory is meant for temporary files so use it to store the
Xauthority file.  We leave state directory regardless because it might
be useful in the future.

It's not configurable by the user to avoid messing around with delicate
configuration options and gives us a predictable location.

However in test mode we usually run as an unprivileged user who doesn't
have access to system-wide directories so we try to find a suitable path.

First we look for the current user runtime directory, if it's not
available we try with the temporary directory.
Log display server command line

For debugging purpose.
Turn DisplayServer into an abstract class

Move Xorg specific code to XorgDisplayServer, this will allow us to
support multiple display server.