parser/DeclActions: create importd declarations in scopes

This handles cases like this:

  int x;
  void func ( void )
  {
    extern int x;
    int x; /* !! Must produce an error */
  }

Unless we have created an imported declaration of 'x' inside the
function scope, we would simple define a new local variable.
CParser.m4.y: parse GCC statement-expressions
parser/BaseActions: new method pedWarning()
CParser.m4.y: allow extra semicolons at file scope