big update #1

added MonadState, and MonadReader instances to the Alex Monad. began a
repl, and a command line interface, began work on the Typechecker,
rewrote the line parser to be monadic and introduced a partial parser
for lines.
big update #2

done:
* actually implemented typechecker,
* added a monad error instance to Alex monad,
* removed (and merged feilds) of AlexUserState,
* allowed the parser to do some typechecking.

todo:
* implement repl
* implement cmdline interface (and options)
* implement dynParser for syntax rules
* things I cannot currently think of...