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.
Use GLR parsing to fix the parsing of method pointers.

The parser has trouble with constructs like "(myclass::*" and it is
helped out by the lexer, which returns such constracts as a single
token so that the parser doesn't have to deal with them.  However,
the lexer cannot help with e.g. "(myclass<int>::*" because it uses
a very basic ID macro for identifiers.  So we can add a rule for that
to the parser, and use GLR parsing to resolve the conflicts.