Pullreq 3 - add documentation (as comments) in the generated grammar; use EOF and TERROR consistently

SHA-1: ef5113fd479bb46a1e89116cab308786dd745edb

* - add documentation (as comments) to the generated parser; this includes a description of the whole structure in a comment at the top of the generated file. (People who don't want this [should] pull the code through a minifier/obfuscator anyway.)

- trivial code duplication removal at the end of the source file.

- use EOF and TERROR constants where applicable for much improved legibility

- some whitespace and semicolon goodness ('pedantic fixes')