gdm-slave: Kill unused constant
gdm-session: Remove some code duplication

Move the keyfile loading to one place.
gdm-session: Sync search dirs up with search dirs in libgdm
worker: move PAM tty/display setup to open session

In the future we aren't going to know if we need to set the display
and tty until open session time.  (because we shouldn't set them for
wayland sessions).

This commit moves that initialization code until then.
daemon: add new gdm_session_is_running method

GdmSession emits when a session is started or stopped, but doesn't
let a caller query if a session is on-going.

This commit adds API for that.
daemon: move user session code from slave to main daemon

This will allow us to run a session without a slave babysitting it.
Integrate the slaves into the main daemon process

For no particular reason, the slave has been kept as a separate process.
Integrate this into the main display process by simply making the display
keep a handle to a GdmSlave object. To keep the cleanup simple, we won't
remove the GdmSlave subtypes yet. A future cleanup should merge the slave
functionality into GdmDisplay and its subtypes.
slave: add ability to reset launch environment

This is useful if we want to kill a greeter and start a new
one on the same X server.
session: Prevent memory leaks by removing strdup accessors

gdm_session_get_* dup the strings they return, but not a lot of code
frees the resulting strings. It's a lot easier to not dup the return
values and make them const char *, as they won't ever change while
some code holds onto them...
manager: Change code that activates / unlocks sessions to take GdmSession

Additionally, change up the naming style so we have activate_session
and unlock_session.
manager: Add infrastructure to hand-over Wayland session

... or any sessions where logind handles session switching for us,
which includes the new rootless Xorg work.
Add wayland-sessions
own display server