Simplify binary expression node.

Abstract the choice for logical or binary (this is really Mozilla Parser
API specific) in the delegate instead of the parsing routine.

http://code.google.com/p/esprima/issues/detail?id=352
http://code.google.com/p/esprima/issues/detail?id=355
Add a complex expression to harness the binary operator precedence.

http://code.google.com/p/esprima/issues/detail?id=352
Unroll the last stack cleanup when parsing binary expression.

As an optimization, there is no need to push and pop the stack for the
very last binary tree construction.

Minor speed-up for V8 3.14.5: 2%, Firefox 17: 4%.

http://code.google.com/p/esprima/issues/detail?id=352
Inline the reduce stage in the stack-based binary expression.

Now that we don't need the generalized reduce for the final stack
clean-up, we can just inline the function. No noticeable performance
change is observed.

http://code.google.com/p/esprima/issues/detail?id=352
Mention Rocambole.
Fix __proto__ breaking hash maps

http://code.google.com/p/esprima/issues/detail?id=387
Remove dead code for binary expression parsing.

Our stack is guaranteed to have the three elements, no need to check for
the impossible corner case.

http://code.google.com/p/esprima/issues/detail?id=352
http://code.google.com/p/esprima/issues/detail?id=388
Mark for 1.0.2.
Remove unreached conditional.

Statement parsing function must return a statement in all cases.

http://code.google.com/p/esprima/issues/detail?id=388
package.json: Split the linting stage into its own.

http://code.google.com/p/esprima/issues/detail?id=364
package.json: Split the code coverage checking stage into its own.

http://code.google.com/p/esprima/issues/detail?id=365
No need to extend the delegate.

Becase now we always include the raw source of literals, there is no
need for delegate modification. We may or may not need it in the future.

http://code.google.com/p/esprima/issues/detail?id=376
http://code.google.com/p/esprima/issues/detail?id=355
Enforce coverage via thresholds for statement, branch, and function.

http://code.google.com/p/esprima/issues/detail?id=388
Add test cases to complete branch coverage for comment parsing.

http://code.google.com/p/esprima/issues/detail?id=388
Complete the branch coverage for escaped identifier scanning.

http://code.google.com/p/esprima/issues/detail?id=388
Complete code coverage of punctuator scanning.

http://code.google.com/p/esprima/issues/detail?id=388
Update code coverage report and thresholds.

http://code.google.com/p/esprima/issues/detail?id=388
Remove an unused variable in the escaped identifier handler.

http://code.google.com/p/esprima/issues/detail?id=365
Plain vanilla description in the thrown error.

If there is a parsing error, the thrown Error object contains the
message which has the format:

  Error: Line 1: some error description

As suggested by Ricardo "mrdoob" Cabello, there should be a way to
grab the description only (without the prefix of "Error" and the
location) other than using regular expression to filter the message.

This is now possible using the 'description' property, e.g.

 try { esprima.parse('1 + 2 = 3') }
 catch (e) { console.log(e.description) }

http://code.google.com/p/esprima/issues/detail?id=389
Complete code coverage for numeric literal scanning.

http://code.google.com/p/esprima/issues/detail?id=388