馃崚 screenpool: don't race with orderwatcher
depending on who gets signalled first the internal members of the watcher may present an earlier state of screen setups. force a refresh before pulling data out of the order watcher.
this resolves two problems I'm consistently experience when disconnecting my only enabled main screen:
- the shellcorona fails to match up desktops with screens in screenInvariants
- the screenpool's screenInvariants fails assertions when its screen list races with the one inside orderwatcher
(cherry picked from commit 2ba7b02c)