Fullscreen move followup
This makes the geometry restore setting a new function to make AbstractClient::moveToScreen more readable again
There's also a behavioral change: if a window gets moved to a different screen and maximized there, unmaximizing shouldn't snap it back to the original screen. Thus I applied the same logic for fullscreen windows to maximizing (or tiling in general)