Fixes #309 - Reset lexer-state when returning newline, update tests

Tests have been updated to use EXPECT_ for non-fatal errors, rather
than ASSERT_. We can potentially squeeze a bit more information out
of failing tests using this.