bison: add a copy of Bison 3.0.2 Java skeleton
bison: update Bison 3.0.2's Java LALR skeleton to support %destructor

- generated a patch with our skeleton changes to make it easier
  to keep track of what we modified and port to future versions
  of skeletons.
bison/lalr1.java: make Location static and fix Location.toString() bug

- Make Location a static final class
- Location.toString() would crash if begin==null, which is the
  default state.
Groundwork for Bison parsing
parser.y: add the string representation of each token
gen-parser.sh: a script to invoke bison
parser/CParser.y: first pass of C grammar (with conflicts, etc)
CParser.y: fix S/R conflict in direct-abstract-declarator
CParser.y: fix S/R conflict in direct-abstract-declarator with left recursion

The previous fix relied on right recursion.
CParser.y: fix second S/R conflict in direct-abstract-declarator
CParser.y: add concatenation of string literals
CParser.y: introduce "any-identifier" in the trivial places.

Also add some GCC extensions.
parser: TYPENAME hack to for parser testing

Uppercase symbols are assumed to be types.
parser/Position: add equals(), hashCode() and toString()
c99/driver/Parser: new option "--debug" to enable parser tracing