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.
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.