[wayland] add explict AbstractClient::setDesktops(QList)
Summary:
Currently setDesktop and unsetDesktop were out of sync, with the latter
missing several important signals and updating of transients.
By using a a shared implementation we avoid that, it also allows for an
atomic move of a window between desktops.
setDesktop is changed back to be a moval of desktop as it currently
broke several unit tests as well as changing the behaviour of the move
to desktop shortcut on wayland.
Test Plan:
testBindings now passes
Moved windows with the context menu on X11
Reviewers: KWin, graesslin
Reviewed By: KWin, graesslin
Subscribers: graesslin, kwin
Tags: KWin
Differential Revision: https://phabricator.kde.org/D16703