Increased test coverage on no-mixed-requires

Added test cases for branches that were not being reached and removed an unnecessary if statement.
Increased test coverage for no-shadow

Removed an unreachable block of code, which increased test coverage. Because `checkForShadows` is called only by `FunctionDeclaration` and "FunctionExpression` and those will both always have an upper scope (`Program`, at the top level), it's unnecessary to check to `node.upper`.
Increased test coverage for max-depth

Added a test case that used the default depth threshold to increase test coverage.
Merge pull request #265 from iancmyers/test-increase-coverage

Increase rules test coverage
Rule: no-empty-class

The `no-empty-class` rule disallows the use of empty character classes in regular expression literals:

var foo = /^abc[]/;

It does not disallow empty character classes in the `RegExp` constructor:

var foo = new RegExp("^abc[]");

This rule matches the JSLint rule: http://jslinterrors.com/empty-class/
Merge pull request #264 from iancmyers/rule-no-empty-class

Rule: no-empty-class
Changed `no-dangle` documentation to `no-comma-dangle`

The `no-dangle` rule was changed to `no-comma-dangle`. This commit updates the documentation to reflect that.
Added documentation for `complexity` rule
Updated `camelcase` rule documentation

Updated the documentation for the `camelcase` rule to match the other rules. Added a link to camelcase.md in the rules README.md.
Added documentation for `curly` rule
Added documentation for `dot-notation` rule
Added documentation for `guard-for-in` rule
Created link from rules README.md to no-plusplus.md documentation
Added documentation for `max-len` rule
Added documentation for the `max-params` rule
Added documentation for the `new-parens` rule
Added documentation for the `no-alert` rule
Merge pull request #266 from iancmyers/documentation

Documentation for several rules
Fix `no-empty-class` false negatives

This fixes several false negatives when attempting to catch empty character classes in regular expressions, like so:

var foo = /\[[]/;

A more robust approach was taken in parsing the regular expression, which loosely follows the algorithm that JSLint uses for a similar purpose.

Fixes #267
simplify no-empty-class rule