simplify parse_config using assignment; inspired by a very old diff from
Tiago Cunha.
move some init up and shed some blank lines
Move conf_init/clear into main - no behaviour change; from Tiago Cunha.
The EWMH spec states that if the cardinal returned is 0xFFFFFFFF (-1)
then the window should appear on all desktops, which in our case is
assigned to group 0.  Found to fix stalonetray due to the non-ewmh aware
range checking in group_movetogroup(); from Thomas Adam.
Check ignore windowname for truncation and provide user feedback during
config parse; based on a discussion with Tiago Cunha.
Check command name/path for truncation and provide user feedback during
config parse (and use conf_cmd_add to populate defaults); based on a
discussion with Tiago Cunha.  While this looks ugly, there are likely
some other changes here to come.
Much like we do for keyboard and mouse bindings, remove duplicates for
command name - last match.
Merge keybinding and mousebinding queues into using the same merged
struct, binding; they were essentially the same accept for what was
'pressed', keysym or button.
keybinding -> key binding
Minimize trivial differences between a few kb and mb functions.
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
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.
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.