refactored lex.go, added many token types. TODO: clean up parser to accept new types