refactor DefinitionLoader and OuterParser to have more granular dependencies
Making the list terminator incorporate the label instead of just the separator.
Adding Constant class and ProductionReference as a superclass of TermCons.
This allows for better error reporting in the new parser when having ambiguities.
It will also allow for more simple disambiguation filters.
Fixing Copyright comment.
Fixing FlattenSyntax for the new Constant class.
Amending some of Dwight's comments.
Fixing the final example in the unit tests for the new parser.
Minimize the final diff changes.
Removing one of the Constant constructor.
strongly type attributes
make attributes unique per ASTNode instance
fix more bugs
fix code review comment
fix whitespace
fix Key.toString
use TypeToken instead of TypeLiteral because it eases serialization
improved the algorithm that compiles rules for fast rewriting
minor refactoring
improved indexing algorithm by only traversing the subject term to retrieve indexing pairs when the cell structure has been modified in previous rewrite step
fixed failing tests