Add utility methods to help generate suggestions
Improve lexer error messages
Improve expected token parser error messages
Represent tokens as doubly-linked list
Improve parser error messages