Defined terminals and nonterminals ::yay::

Cleaned some stuff up, such as making sure when lex doesn't find $ it
adds it to the box (not just to the end of the token stream). Set up a
type for Nonterminals, whereas terminals added to the tree will just use
the Token structure for lex. So everything is set up so that the
recursive descent can be written.