session: Introduce the concept of the "session display mode"

The session display mode describes exactly how the worker
environment will set up VTs, and whether the greeter X server
will be reused for the user session.
manager: Don't reuse the same X server for alternate display modes

GNOME is going to need a mode of operation in GDM where the session
manages its own display server. In this mode of operation, we won't
morph the login screen into a user session by reusing the same X server.

Instead, we reset the login screen to prepare it for a future login,
and then let GNOME or the session worker activate its own session.

This commit adds the prerequisite work needed to gdm-manager.c, but
only as dead code, since the way to "turn it on" is stubbed out to
always reuse the existing server.

https://bugzilla.gnome.org/show_bug.cgi?id=726380
session-worker: Implement support for the different display server modes
Add wayland-sessions

Add the wayland-sessions directory, as shipped by gdm.
session: Add a simple and naive way to detect Wayland sessions

Simply look for "wayland-sessions" as a path element.
session: Wayland sessions bypass Xsession
session: Wayland sessions are allocated on a new VT

... at least for now, until we land logind integration in mutter
and turn on the Xorg logind-aware codepath in gdm.
session: Reset immediately on cancel

For some reason, before now, we round-tripped through the
GdmManager object when resetting the session instead of doing it
directly. The only time we can cancel is when the client calls
Cancel();, so just handle that directly.