Add wayland-sessions

Add the wayland-sessions directory, as shipped by gdm.

https://bugzilla.gnome.org/show_bug.cgi?id=726380
session: Add a simple and naive way to detect Wayland sessions

Simply look for "wayland-sessions" as a path element.

https://bugzilla.gnome.org/show_bug.cgi?id=726380
session: Wayland sessions bypass Xsession

https://bugzilla.gnome.org/show_bug.cgi?id=726380
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.

https://bugzilla.gnome.org/show_bug.cgi?id=726380
manager: explicitly disallow login screen from opening reauth channel

It doesn't make sense for it to do, and right now the shell does it
up front, waits for the failure, and then does the "right" thing
(opens a new auth session) after.

This commit makes the failure explicit, so we can subsequently make
other cases where a reauth channel is requested work even if there is
no session to channel to by implicitly creating a transient one just
in time.  That will come later.

https://bugzilla.gnome.org/show_bug.cgi?id=726283
worker: support authentication without X11 display

At the moment we unconditionally set PAM_XDISPLAY
and PAM_XAUTHDATA based on values passed to the worker.

In a future commit, those values are going to become
stubs, so as a first step, this commit makes PAM_XDISPLAY
and PAM_XAUTHDATA optional.

https://bugzilla.gnome.org/show_bug.cgi?id=726283
manager: collect more details about bus sender

In the future we're going to need to know more details about the
sender to know how to move forward (such as seat id, session id,
if it's remote, etc) in order to create a transient session soley
for reauthentication.

To prepare for that future, this commit adds the necessary
functionality to get_display_and_details_for_bus_sender.

https://bugzilla.gnome.org/show_bug.cgi?id=726283
manager: support just-in-time reauthentication for non-GDM sessions

Right now, gnome-shell can't unlock screens running on an X server that
isn't managed by GDM (say Xvnc or startx).  This is because GDM handles
the backend processing for unlocking, and it handles that backend
processing from the worker associated with the session.  If there is no
worker associated with the session (as is the case with Xvnc and startx),
then there's no process to handle reauthentication.

This commit notices that case, and creates a transient worker on the fly
just to perform one off authentication for unlock of non-GDM managed
sessions.

https://bugzilla.gnome.org/show_bug.cgi?id=726283
manager: get rid of dubious weak references

The previous commit uses weak references on weak references to manage
transient session lifecycles without doing proper accounting.

That was a bad idea.  This commit uses a hash table to track things
more explicitly.

https://bugzilla.gnome.org/show_bug.cgi?id=726283
wayland: make optional for FreeBSD

FreeBSD build broke, so this commit makes wayland a configure time
argument

https://bugzilla.gnome.org/show_bug.cgi?id=726380
build-goo: drop vestigul gdm-slave.xml

fixes distcheck
NEWS: update for release
configure: bump to 3.11.92
session worker: fix one more _MODE_NEW_VT case

The previous patch missed one case of GDM_SESSION_DISPLAY_MODE_NEW_VT,
resulting in an undefined reference to jump_to_vt().

https://bugzilla.gnome.org/show_bug.cgi?id=726380
NEWS: update for release
configure: bump to 3.11.92.1