Parser: Abort on error, enhance error messages

Without any recovery strategy, continuing after an unexpected token only yields a torrent of useless messages and will unnecessarily complicate building the AST.
Removed because that's a slightly brittle test case.