Minor compiler fixes

1b853b3 There wasn't a newline, I added one.
35413b7 When an error occurred the newline character was being added to the line stored in `util.lines` so when an error message printed the line, it had an additional new line. This commit fixes that.
ff9499d Previously some errors (mainly "unable to consume token") errors had an error location of [1:0]. This fixes that by changing the position of the eof token to the end of the last line in the file.
8d19114 Updated the comment in the lexer about the different modes to include some previously missing ones.