Refactoring the representation of Rules so that actions and flags are not part of the rules themselves, but rather in a lookup table on the side.  This should make it a bit simpler to talk about rule sets more easily, when trying to clean up any mistakes in the LALR(1) table generation
Interim state while I try to figure out a different representation for
LR1 sets.  This seems to be working, but it's incredibly slow
New representation seems complete, and generated parsers appear to be working.  (The generated parsers can definitely bootstrap the Pyret compiler with no errors, and the example grammars that caused errors before now seem to not be giving errors.)  Speed of generation has slowed down from where it was (but that was a buggy algorithm), but it's much faster than the naive representations were (in the previous commit).