ParserBuilder cleanup.  Not compilable.

- Break ParserBuilder up into multiple files.
- Object-orient GrammarNode. It was asking for it. Now OOP handles a bunch of dispatch and some amount of type-safety.
Misc. improvements from many months ago.