Use the bison GLR parser algorithm to resolve ambiguities.

This applies a hammer to the constant expression ambiguity problem
by having a rule that allows "<" to be either a less-than operator
or a template argument bracket.  The glr-parser tries both, and goes
with whichever choice results in a parseable input.
Check for EOF in addition to null as end of file marker.
Enhance the error reporting of the parser.