Merge branch 'restart'.

Implements the restarting behaviour (more or less) correctly.
Move window attributes detection into create().

It's going to be called anyway.

Also move the DEBUG check to the macro definition; stdlog() should log
no matter what.
Add special keys list to config.h.

Make called functions compatible with the new format (using the Arg
union).

(Almost) remove the handmade list of special keys (grabkeys() is still
not automatised, will get changed soon).
grabkeys() is now also automatic.
Clean up code.

Remove debug messages in handlers that are implemented. Turn ints into
unsigned ints where seen fit.
wintoclient() returns Client index upon request.

Makes it easier to locate a Client, possibly eliminates a for loop or
two.
Add spawn().

Allows to execute commands; currently Mod+Return is mapped to launch a
new xterm window (finally!).
Fix xinitrc; make xterm spawn in background again.

It started xterm and kept stwm from starting until xterm was terminated.
Add border, make stuff static.

Needs a lot of changes, given that we cannot draw borders around
*everything*: context menu windows (override_redirect) will make the WM
crash if there is an attempt to draw borders around them.

Furthermore, functions and variables have been declared static now
(cleaner).
Some steps towards resolving the focus bug.

Sometimes when a window is unmapped, no window gets the focus border
correctly. Parts of the bug's reason were tracked down, but it still
occurs.
Set X keyboard layout to 'ch' if it's me.

I mean - currently I'm the only one using this WM, so while developping,
I may add some personal tweaks.
Fix errors in README.
Implement elegant focus handling; only manage mapped windows.

focus() has been replaced by a stack and push()/pop(), which eliminates
the need for the 'sel' variable. The window at the end (= top) of the
stack is supposed to have focus; a simple push() will move the client to
the top of the stack. This also allows to determine easily which window
to focus next upon a window's destruction.

Windows that have override_redirect or that are not mapped are no longer
managed by stwm. This allows a simpler handling of clients.
=> *all* clients are part of the tiling layout, no need to do checks in
   every place.

Currently there is a bug that makes stwm crash upon closing the last
window. I suppose this is a purely arithmetical mistake somewhere. Once
this is fixed, this should get merged into master.
0 < 0-1 can be true if the 0s are unsigned.

... yes, it turned out to be an arithmetic mistake. And I've learned
something new today.
Remove warning message for unmapping unmapped windows.

This happens quite a lot, since we ignore all windows with
override_redirect. Unmapping one of them is quite common.
Merge branch 'mapped'.

Includes a more elegant way to handle focus, and has not shown any bugs
so far. Might become a stable base for developping a truly usable WM.
Add zoom().

Update README.
Add workspace.

... yes, in singular, for the moment there is only one workspace, no
change in the behaviour. I'll add multiple workspaces soon.
Add selcli that holds a reference to focused window.
Add workspaces.