Fix template literals when end backtick immediately follows newline. Fixes gh-1877

Previously, a backtick which immediately followed a newline would be treated as part of the
template text, rather than as a note to stop processing. This CL corrects this behaviour.

Closes #1877
Closes #1888
Fix typo in src/lex.js

Bonus fix to correct weird spelling errors.
Unescape identifiers when checking. Fixes gh-1885

Replace escape sequences in identifiers with unescaped codepoints during processing, such that
\u0065val is the same as eval. This helps to prevent nasty uses of unwanted features from escaping
detection.

Identifier tokens now provide a `raw_text` property which access the actual text of the identifier
used in source code. This allows the same error messages to be reported as previously.

Closes #1885
Closes #1886
Add Symbol, Reflect and System objects to newEcmaIdentifiers. Fixes gh-1539

Also warns when using Symbol as a constructor (called with `new`).

Closes #1539
Closes #1890
Remove tautological condition

The modified branch is only reached when the identifier being parsed:

1. Has not been declared in the current scope
2. Is being referenced in the global scope

JSHint seeds its internal table of global variables with all
"predefined" identifiers. Because of this, there can never be a case
where the identifier in question does not exist in the `predefined`
table.

This means conditional expression of the removed `if` statement is
always true, making it unecessary.
Fix bug for vars declared via list comprehensions

This logic already exists for undefined identifiers in the global scope,
but it must be copied to the branch reserved for identifiers in function
scopes.
Consolidate branches

Because these two branches only differ by one line, they should be
consolidated.
Don't raise W083 if a function never touches the outer scope
Merge pull request #1887 from jshint/valueof-better-funcloop

Don't raise W083 if a function never touches the outer scope
Don't emit W098 for exported labels. Fixes gh-1863

Closes #1863
Warn when export declaration used outside of global scope.
Merge branch 'dry-undef' of https://github.com/jugglinmike/jshint into dry-undef

* 'dry-undef' of https://github.com/jugglinmike/jshint:
  Consolidate branches
  Fix bug for vars declared via list comprehensions
  Remove tautological condition
Add CSS variable to browser

Documentation at
https://developer.mozilla.org/en-US/docs/Web/API/CSS

Specified at
http://dev.w3.org/csswg/css-conditional/#the-css-interface
http://dev.w3.org/csswg/cssom/#the-css.escape%28%29-method
Merge pull request #1899 from Rob--W/variable-CSS

Add CSS variable to browser
Add mock-stdin as devDependency

It helps test the stdin file input in the cli suite.
Add tests for gh-1880
Add .jshintrc overrides handling to stdin processing

The new .jshintrc overrides were not being handled by
SublimeLinter-jshint because the --filename flag was not
being passed to the lint() function.  This has been fixed.

Closes #1880
Move `useStdin` tests into own suite

Closes #1900
Add nocomma option to forbid use of a comma operator
nocomma: clean up quote style