Move X cookie generation out of Session code.
Do not generate an cookie as root when loading

It's not used by anything
Remove explicit delete call to parented object

d->socket has the GreeterProxy object as a parent so will be deleted
anyway
Proxy messages from the greeter in SDDM output
Catch errors launching the greeter before we block.
Move generateName to a separate file
SocketServer generates it's own name

SocketServer is in charge of creating the socket name. It then exposes
the full socket path.

SocketServer is changed to not have m_started and the server in separate
states.
Only set session environment user/path if set
Use vt 1 when systemd support is available

systemd graphical mode uses vt 1 for display managers.
Add missing USE_PAM definition to Authenticator.cpp
Always go via PAM for autologin

This passes our session through the systemd PAM module that sets up
logind correctly, fixing a bug where polkit actions would not work
correctly in an SDDM session
Provide seat name and virtual terminal number to PAM environment variables
remove pointless pam checks in autologin
Merge pull request #168 from w41l/master

Add missing USE_PAM to Authenticator.cpp
Merge pull request #142 from davidedmundson/fix_autologin

Fix Polkit sessions with autologin
Merge pull request #167 from plfiorini/systemd

Use vt 1 when systemd support is available
Start the greeter under the user sddm
Merge pull request #159 from davidedmundson/nonrootgreeter

Don't run the greeter as root
Wayland port

This change adds Wayland support only to Qt 5 builds (it's not possible
with Qt 4).

Users pass -DUSE_WAYLAND=ON to cmake in order to enable Wayland support.
Wayland and X11 support are mutually exclusive.

systemd >= 209 is required because it manages devices for us.

Changes to daemon:

 - DisplayServer is now a base class
 - DisplayServer implementation code moved to XcbDisplayServer
 - New WaylandDisplayServer class with Wayland specific code

Changes to greeter:

 - KeyboardBackend moved to its separate .cpp/.h files
 - Same happened to XcbKeyboardBackend
 - KeyboardModelPrivate moved to a separate header
 - Layout moved to separate .cpp/.h files as KeyboardLayout
 - New WaylandKeyboardBackend class with Wayland specific code
 - Added WaylandIntegration class to use wl_fullscreen_shell

Wayland backends are used only if USE_WAYLAND is defined.

The sddm.conf configuration file has different values if Wayland support
is enabled for:

 - ServerPath
 - SessionsDir
 - SessionCommand

With Wayland we have compositors that take roles the role of display server,
window manager and compositor in the X11 world.

There are several Wayland compositors, each with different command line
arguments.  For this reason the only compositor supported at this moment
is Weston with fullscreen shell, a plugin that is available since the 1.5
release.

Weston's fullscreen shell requires a window to be presented on each
output, size mismatch between window and output sizes is resolved
stretching the window to accomodate output size.
sddm currently creates only one giant window for all the screens,
to avoid stretching this window I decided to make it as big as
the primary output resulting in other outputs showing a black
screen.

In the future we might implement sddm's own compositor, but for an
initial Wayland support it's better use Weston.
A sddm compositor might be able to show sddm giant window without
problems.

The compositor in test mode simulates two screens to easily test
multi screen support.