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