Add no-undef (fixes #6)

References to an undeclared variable will be flagged:

```js
foo = 1;   // 'foo' is not defined.
```
... unless it is explicitly mentioned in a /*global */ block:

```js
/*global foo:true*/
foo = 1;
```
Match messages to JS[LH]int where appropriate, and ensure consistent message formatting (closes #163)
Updating no-undef patch (see pull request #164)
1. Move predefined globals to ```conf/environments.json```
2. Move mixin() to ```lib/util.js```
Added tests and test cases for a few files
Removing nasty leading underscores
Add support for the do-while statement to the curly rule (closes #167)
Fix broken test
Updating no-undef patch (see pull request #164)
3. Move parsing of ```/*global */``` and ```/*jshint */``` to eslint.js
Rule: no-underscore-dangle for func/var declarations
Update eslint.json with no-underscore-dangle rule
Rule: no-sync to encourage async usage
Merge pull request #144 from pigulla/master

"consistent-this" rule
Merge pull request #178 from mduvall/no-sync

Rule: no-sync to encourage async usage (fixes #177)
Rule: no-eq-null

The `no-eq-null` rule flags comparisons to null that do not use a type-checking operator.

Comparing to `null` without a type-checking operator (`==` or `!=`), can have unintended results as the comparison will evaluate to true when comparing to not just a `null`, but also an `undefined` value.

```js
if (foo == null) {
  bar();
}
```

This rule provides the functionality of JSHint's **eqnull** rule.
Updating no-undef patch (see pull request #164)
* Simplify parseBoolean()
* Make knowledge of```/*jshint*/``` and ```/*global */``` internal to eslint object
* Put user-declared globals in Program scope
Merge pull request #164 from mamacdon/no-undef

Add no-undef (fixes #6)
Merge pull request #179 from iancmyers/rule-no-eq-null

Rule: no-eq-null
Use proper node declarations and __proto__ exception
Merge branch 'master' of https://github.com/nzakas/eslint into no-underscore-dangle

Conflicts:
	conf/eslint.json
Rule: no-loop-func