Defer session startup until KAMD is up
Otherwise we can session restore occur before kwin has loaded activities. This means kwin will fail to put windows back on the correct activity.
I think it's purely hypothetical, it came up as a theory in a bug report, but I don't believe was actually the cause.
Races are avoided because ksmserver will then make a blocking DBus call to kwin on session restore. DBus guarantees order so it will have also dispatched the service status to kwin and we know kwin will have handle that first.
Testing done: Added "sleep(10)" into the main function. Everything resumed on the correct activities.
FWIW I also made an approach within kwin: kwin@7201a1a1 which I also tested, but I think this is the neater solution of the two?