Port from GetSessionByPid
GetSessionByPid is broken especially when the calling process is in a different cgroup to the session object.
Rather than using the magic "/auto" object path, calling GetSession with the argument "auto" seems to work on even distros with old bases and is the smallest code change.