Encapsulate __all_clients further

Now even the functions inside ClientList use a getter function
called __get_list(), which checks if the sub-list exists and
creates one if necessary before returning.
Add shortcuts to move windows

We can now swap primary, and move windows up/down one.
Make it relayout existing clients on startup