Add comments to easier find errors.
Update error messages to use new methods
Add suggestions to error messages
Fix inconsistencies in error positions
Add support for multi-line suggestions
Add size field to tokens
Add utility methods to help generate suggestions
Improve lexer error messages
Improve expected token parser error messages
Represent tokens as doubly-linked list