Fix transitions between 'lint' and 'nolint'.

- No longer necessary to insert a semicolon for 'nolint' to 'lint'
  transitions.
- Fix uncaught semicolon errors on 'lint' to 'nolint' transitions.
- Fix false positive with '//:nolintnot'.
- Make the tests a little easier to follow.

BUG=None
TEST=test/feature/Syntax/Error_StrictSemiColonsNoLint.js
     test/feature/Syntax/StrictSemiColonsNoLint.js

Closes #244