Added a fix for an issue with stuck windows.

Previously, a window which was stuck and then moved/resized/iconified would
not retain its stickiness. Now, stuck windows will remain stuck as they are
moved/resized/iconified.

This required a few additional changes:

 - Added explicit handling in ClientModelEvents for ALL_DESKTOPS in the
   handlers for changing away from the icon/moving/resizing desktops.
 - Added handling for ALL_DESKTOPS in ClientModel when
   iconifying/moving/resizing, by saving the stickiness of a client which
   is being moved to one of those desktop types, and then restoring it when
   the client is moved away from those desktops.
 - Adding a unit test to ensure that clients retain their stickiness when
   they are iconified/moved/resized.