Added some more client iterators, and tests for them.

I also addded the machinery to do handle desktop
sticking, but there are currently no tests for that yet.