If `org.freedesktop.login1.Manager.GetSessionByPID` is called after
cosmic-session puts it in a new systemd scope, it will no longer find
the login session as it would have been removed out of the login session
scope.
Most of the time, cosmic-greeter gets to that line before the scope is
changed, but sometimes (particularly on slower systems or virtual
machines) this race can be lost and lead to cosmic-greeter failing to
start and preventing lockscreen from working.
This commit solves that race condition by always checking the parent PID
instead (which would be cosmic-session which is always present in the
login session scope), and all POSIX-y systems should support using parent
PID.