Remove the need to specialized token handling.

This also get rids of the patch and unpatch pair.

https://code.google.com/p/esprima/issues/detail?id=398
Parsing empty switch contains 'cases' key

SpiderMonkey and the Parser API defined 'cases' to be in the
SwitchStatement production.

https://code.google.com/p/esprima/issues/detail?id=436
Support escaped "]" in regexp literal character classes (ex: "/[\]/]/")

https://code.google.com/p/esprima/issues/detail?id=442

The RegExp expression parser did not handle the escape sequence "\]" within
character classes, or any escape sequence for that matter. Once in a character
class, the parser consumed all characters until reaching "]".

This diff makes the parser always consider escape sequences, whether it is
currently inside of a character class or not. This more closely matches the
grammar, which looks like:

  RegularExpressionChar ::=
    RegularExpressionNonTerminator but not \ or / or [
    RegularExpressionBackslashSequence
    RegularExpressionClass

  ...

  RegularExpressionClassChar ::=
    RegularExpressionNonTerminator but not ] or \
    RegularExpressionBackslashSequence

http://es5.github.io/#x7.8.5

That is, the parser can derive RegularExpressionBackslashSequence both inside
and outside of character classes.

Test plan: Added test case to test.js and loaded it in Chrome 30 and Firefox 25.
These browsers produce different results for `new RegExp('[\\]/]').toString()`
so the test case dynamically computes that value.
Tolerant mode: ignore invalid left-hand side expression.

https://code.google.com/p/esprima/issues/detail?id=81
https://code.google.com/p/esprima/issues/detail?id=130
For Bower, switch to bower.json.

https://code.google.com/p/esprima/issues/detail?id=342
Some keywords for the package manifests.

https://code.google.com/p/esprima/issues/detail?id=4
https://code.google.com/p/esprima/issues/detail?id=342
Minimize the payload for bower.

https://code.google.com/p/esprima/issues/detail?id=342
https://code.google.com/p/esprima/issues/detail?id=362
Support `<!--` comment syntax

https://code.google.com/p/esprima/issues/detail?id=451
Fix wrong handling of relational expression in a for statement.

If operator 'in' is not allowed, it can not be just allowed within
the binary expression.

https://code.google.com/p/esprima/issues/detail?id=449
Accept Ogham Space Mark as whitespace character

https://code.google.com/p/esprima/issues/detail?id=452
Add whitespace tests for line terminator characters

https://code.google.com/p/esprima/issues/detail?id=452
Attach every comment to the possible following syntax node.

The comment is placed in the leadingComments array of the said node.
This is based on the original patch from Yusuke Suzuki.

https://code.google.com/p/esprima/issues/detail?id=197
Move the tests for HTML comment.

These are not only for tolerant mode, place them in the Comment category.

https://code.google.com/p/esprima/issues/detail?id=451
Support --> HTML comment.

From http://javascript.spec.whatwg.org/#comment-syntax:

  --> at the start of a line, optionally preceded by whitespace or
  MultiLineComments, must be treated as a SingleLineComment
  — equivalent to //.

https://code.google.com/p/esprima/issues/detail?id=451
Regular expression can not have LineTerminator.

https://code.google.com/p/esprima/issues/detail?id=454
Remove unnecessary file.

https://code.google.com/p/esprima/issues/detail?id=14
https://code.google.com/p/esprima/issues/detail?id=424
Attach every comment to the possible previous syntax node.

The comment is placed in the trailingComments array of the said node.
This is based on the original patch from Yusuke Suzuki.

https://code.google.com/p/esprima/issues/detail?id=197
Fix the attachment of comments.

Both the proximity and the size of each syntax node need to be taken
into account when deciding which comment must be attached.

https://code.google.com/p/esprima/issues/detail?id=197
Add Node script to generate the identifier regexes.

The script was taken from https://gist.github.com/mathiasbynens/6334847
and then modified to match Esprima’s needs.

It replaces the Python script that was previously used for the same
purpose. The new script is simpler, more compact, and doesn’t require
any manual post-processing of the data.

https://code.google.com/p/esprima/issues/detail?id=110
Update some files in the benchmark corpus.

Updated libraries:
- Underscore.js 1.5.2
- jQuery Mobile 1.3.2
- AngularJS 1.0.8
- YUI 3.12.0

https://code.google.com/p/esprima/issues/detail?id=354