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.
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.
daemon: support launching sessions on separate VT

If an xsession file sets X-GDM-NeedsVT to true, then GDM will
now automatically allocate a new VT for that session and jump to
it before starting the session.  Once the session completes, the
worker will automatically jump back to the VT it started on.

This will be useful for getting mutter-launch to be able to launch
a gnome-shell wayland sesssion.  Longer term, I think mutter-launch
will go away and its functionality will get moved into logind.
emancipation proclamation