Fixes a parse error by declarations like "sometype (foo*)(void)" and
cleans up some related technical debt in the grammar definition. It also
introduces some redudancy by the definition of various *_decl_specifier_seq
rules but that certainly a lesser evil.
Whitespace handling in the preprocessor revisited: comments incapsulated in pp directives
lead to generation of multiple WS-Tokens in a row.
Whitespace revisited: more testing
fix a parse error related to parsing anonymous parameter declarations.
Pleasant side effect: the fix allows removal of a grammar workaround.