client: Modify puavo-ltsp-init-nfs to mount home directories separately
for each user. On LTSP servers NFS mounts are done with nolock and soft
mount options.

If device.json has tag "sambahomes", the home mounts are done with
mount.cifs instead. In this case /home/share is mounted over NFS.

In this version there's no option to do old style /home as one mount
mounts.
client: Fetch device.json also for ltsp servers that need a separate
puavo-rest resource.
Merge branch 'master' into home-mounts
client: Setup also XDG_RUNTIME_DIR under /run/user/<uid> for files
that do not need to be persisted across reboots. Keeps user home
directory cleaner.
client: Setup also XDG_RUNTIME_DIR under /run/user/<uid> for files
that do not need to be persisted across reboots. Keeps user home
directory cleaner.
client: Fix check for sambahomes tag in puavo-ltsp-init-nfs
client: puavo-ltsp-init-nfs now mounts by default /home as one mount
and uses individual user home mounts over CIFS is sambahomes tag
is set.
Merge branch 'gvfs'

client: Setup also XDG_RUNTIME_DIR under /run/user/<uid> for files
that do not need to be persisted across reboots. Keeps users' home
directories cleaner.
clients: Add support for home directories over CIFS in puavo-ltsp-init-nfs.
This can be activated by tag sambahomes in device settings. Device tags
were added in puavo-rest commit a396a9ac31341cfad5bda429b636dfd4d894be2b.

The new functionality is added to test whether CIFS would work better for
user homes than NFS.
client: Add ltspguestsshd configuration files for thin client guest session support
client: Actual thin client guest session support. Creates automatically
guest-<hostname> user both on the thin client and on the ltspserver.
(inetd listener is added to TCP 908 on the ltspserver to create the users.)
Lightdm guest account scripts are overwriten on thinclients.

As lightdm's guest session support does not run through PAM stack,
thin client login is done in xsession script. Also normal logins need
to be changed to same model.
client: Fix thinclient guest session cleanup when session finishes.
xexit scripts need LTSP_CLIENT_HOSTNAME set to work properly.
client: Create home directory for thinclient guest users when
logging in through ltspguestsshd and remove the directory if it
already exists.
client: Use device specific language setting from device.json as a fallback
if there's no language set in puavo session.
client: Add a new Xsession.d script that sets PUAVO_SESSION_PATH if it is
not set, but /var/lib/puavo-desktop/users/<user>/puavo_session.json exists.
This is used now for guest sessions that cannot use the PAM scripts to
create the file and set env variables.
client/puavo-thin-guest-account: Create puavo session dir for guest
users and fetch session from puavo-rest automatically.
client: Use the new session starter script for all thin and fat clients.
client: Pass PUAVO_SESSION_ID from thinclient to ltsp server's inetd
listener instead of hostname when initialising the guest user before
ssh login. Still needs work to make user home directory cleaning more
robust.
client: Try harder to find the interface for default route.
client: Fetch device.json also for ltsp servers that need a separate
puavo-rest resource.