Handle '//:lint' and '//:nolint' comments.

Currently this only disables 'strictSemicolons' inside 'nolint' zones.

The transition from 'nolint' to 'lint' is a little tricky since comments
are not tokens, meaning that for proper transition back to 'lint' mode,
you need to make sure there is a semicolon (i.e. you have to manually
add a token) either before or after the 'lint' to make sure any errors
from the 'nolint' side don't leak through.

- Add 'ignoreNolint' option.

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

Review URL: https://codereview.appspot.com/7801048
Patch from Ben Chan <usrbincc@yahoo.com>.