Allow 'sourcing' of script to gain access to functions.
Updates to work on more-modern OSes.

Firstly, it seems that ck-list-sessions isn't always accurate, so lets
get this data from `who` as well.

Next, we need to start passing in in DBUS_SESSION_BUS_ADDRESS
environment vars where required (or --address), so that applications
know which dbus session to talk to.

We also need to now be able to pull a DBUS_SESSION_BUS_ADDRESS when
all we have is an XOrg DISPLAY variable, so do that as well.

I'm *this close* to removing support for dbus-send which is really
painful to use compared with qdbus...
Bug Fixes.

Remove debugging that prevented qdbus being used.

Aparently `who` output formats the date differently in some
circumstances, so let's look backwards from the end for the
process IDs...

What used to be the "alternative" udev format is now the
standard one, and the old standard one is now the alternative
as it seems this is the only way to see unplug events these
days.