This patch introduces a dense implementation of the LR parsing table, which is
used by LR parsers. We implement a SLR(1) parsing table from an LR(0) automaton.
Statistics of the LR parsing table on the C++ spec grammar:
number of states: 1449 number of actions: 83069 number of index entries: 72612 size of the table (bytes): 334928
This function seems like a bit of an attractive nuisance: it could be a cheap accessor, but isn't. There are just two callers - both are calling it in a loop and both seem dubious to be iterating over all symbols at all. I wonder if we can avoid it entirely.