Initial import of cwm-3.

tested by sturm@, ok matthieu@
cvsimport
cvsimport
Remove duplicate mouse functions and instead use the kbfunc ones.  No
user visable changes at this point, but they'll merge at an appropriate
time.
Move cwm_status around to avoid header fu, and remove extraneous signal
header from xevents.c; noticed by Christian Neukirchen.
use the same autogroupwin variable as everywhere else
Switch ignoreq to winname struct since it's basically the same thing;
removes limit on name matching.
re-add lost free from previous
cvsimport
Let the config parser continue parsing even after encountering an error;
original idea (with now-outdated patch) from Thomas Adam.  Since we now
report where errors exist, this now makes more sense.  Expand a bit on
config file parsing in the cwm(1).

Discussed with a few, including sthen; ok sthen.
cvsimport
Take menu's bwidth into account for position/size; reported by Thomas Adam.
The menu already limits entries with MENU_MAXENTRY, so don't bother
holding a command name limit as well.
Unlike free(3), XFree(3) can't be passed a NULL pointer.
No need to store screen colormap and visual; rather just use the X
macros in the one place they are needed.
Move redundant window attr fetch from maprequest directly into
client_init and perform that X roundtrip only once.
cvsimport
Move redundant bits from screen_init (while dealing with existing
clients) directly into client_init, performing the X roundtrip only
once. With the previous change in maprequest, this moves decision making
into one place for creating new clients.
make this XQueryTree like the other
Introduce a region queue and replace screen's XineramaScreenInfo; we
still use Xinerama to populate the regions per screen, but will switch
at a more appropriate time.