show verbose commands with make V=1

This seems to be done by a lot of projects out there while our
previous Q= seems to be exotic, so we additionally support V=1 now too.
(based on a patch from lu_zero@gentoo.org
warning: Check for unary operation next to =

When an infix operator follows an assignment (without spaces in between)
a warning it triggered: maybe the user inverted the two symbols
(e.g., he intended '+=' but wrote '=+').

With some small grammar fixes and slightly improved is_adjacent_pos.
add new warning category for not compound assigns
Move posix/win32 hacks to a separate header file
refactoring of main.c
move help strings from main.c to help.c
start working on moving option parsing out of main
further moving of options to options.c
move timing and statev to options.c
move preprocessor initialisation to driver.c
introduce system for one-shot actions
move driver initialisation to driver.c
Wcomments is a synonym for Wcomment
streamline passing of warnings to external preprocessor
delay printing of include paths until preprocessor is set up
add -W switch to disable warnings about ignored gcc options