Added EOF token to lexer

For benefit of parser. Sticks it on end of queue.
Fixed a couple introduced lexer bugs
Working on LR(1) parser generator

This is harder than it looks
Fixed tiny things in dummy code

So stuff compiles
Implemented computation of FIRST sets

Unfortunately, code will totally crap out (infinite loop) if grammar is left
recursive, and doesn't check for that ahead of time.

Also, added even more functions to parser generator interface.
Added a bunch of explanatory comments

Now actually talks about how the parser generator subroutines work
assuming you don't have a compilers textbook memorized.
Added new field to CC record

Keeps track of how many itemsets are in the collection.
Wrote code to build CC

Uses closure and goto subroutines.
Refactored CC building code

Moved closure and goto into separate functions, Fixed a couple compiler bugs.
Added helper function in utility file
Fixed bugs introduced by previous refactoring
Fixed a bunch of compilation errors

CC builder now compiles. Untested.