parser functions now return NULL if an error occurs

each parser function:
- will continue attempting to parse a rule if an error occurs, but
  will properly return NULL if one does occur.
- has one exit point (return at the end).
- is missing AST clean-up code, which is necessary when a syntax error
  occurs as the parser continues to build the AST.
removing all checks for early EOF (dead code)
removing the REPL :(

nolli is meant to be a static compiler. I may add a JIT
feature later, but it's not meant to run interactively.
I do like antirez's linenoise library though.
fixed parser/lexer buffer pointer bug

the parser's bufptr now points to a valid buffer for each
parsed literal.