Added support for recursing directories of JS files in WSH env.
Added information on using directories to the usage text.
Reformatted some lines that were over 100 characters long
Support compatibility with inverted JSLint options

Several of the options inherited from JSLint have retained their
original names but inverted their meanings.  Since the "/*jslint" option
syntax is still supported, running JSHint on a project using the
"/*jslint" option syntax with these options produces a result that is
opposite to the intentions of the developer.

To support this use case and increase compatibility with JSLint, invert
such option values when encountered with the "/*jslint" option syntax.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Add test for compatibility with inverted JSLint options

Create jslintInverted.js unit test which tests handling of the
"/*jslint" plusplus option.  If this is parsed the same as a "/*jshint"
option the test will fail.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Support compatibility with renamed JSLint options

Several of the options inherited from JSLint have retained their
original function but changed their names.  Since the "/*jslint" option
syntax is still supported, running JSHint on a project using the
"/*jslint" option syntax with these options has no effect and may either
result in errors the developer has already reviewed or miss errors that
have been specifically requested.

To support this use case and increase compatibility with JSLint, catch
such renamed options and store the values with the corresponding JSHint
option when encountered with the "/*jslint" option syntax.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Add test for compatibility with renamed JSLint options

Create jslintRenamed.js unit test which tests handling of the
"/*jslint" eqeq option.  If the option name is not converted from "eqeq"
to "eqeqeq" and the value inverted, the test will fail.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Merge GH-508

Although JSHint currently recognizes the `/*jslint` option comment syntax,
several of the options have either changed names or inverted meanings
between JSLint and JSHint.  This creates many needless errors when running
JSHint against a project using the JSLint option comments.
To increase compatibility and ease transitions from JSLint to JSHint,
these patches translate JSLint options into JSHint options where possible
and unambiguous.

+ Fixes GH-508

* patch-508:
  Add test for compatibility with renamed JSLint options
  Support compatibility with renamed JSLint options
  Add test for compatibility with inverted JSLint options
  Support compatibility with inverted JSLint options
Added (hidden) r2config
Patch from J-Griffin

Added recursive directory support to WSH wrapper.

The WSH env now has support for passing in a directory name.

The only functional change that was made for single files is that the
passed script name is spit out in the output just like when running
against a directory. Let me know if that is a problem and I can make a
change.

+ Fixes GH-471

* (merged manually)
Rhino: convert indent into a number.

This patch fixes a bug when values of option indent were being
passed into JSHINT as strings instead of numbers.

Fixes GH-495.
Added checking for single strings within eval-style statements

This is currently checking "eval", "setTimeout" and "setInterval".
Support for other types of eval is coming.

It works by looking for statements which contain just a string.
In that case, the string is put onto a list, and all of the strings
are checked at the end.
Added a check for window.setTimeout containing syntax errors
Fix the eval code to work properly in the case of multiple eval()s
Proper unit tests for the deep-eval() checks
Allow space afters tabs and before a block comment [closes #503].
Adds option camelcase

If option camelcase is true, all identifiers are required
in camel case or in upper case with underscores.
Adds option quotmark [closes #306]
 - {quotmark: true} // ensures consistency of quotation marks
 - {quotmark: "single"} // requires single quotes as quotation marks
 - {quotmark: "double"} // requires double quotes as quotation marks
Added node_modules to .gitignore
Don't show unnecessary warnings for new my.Array()

There is no need in showing "Use the _ literal notation." warning
when Array is simply a property of some custom object. Same with
Object.

Fixes GH-527.