Remove the (last) tracking function from binary expression.

Continuing the last refactoring to use the delegate and the marker,
this completes the abandoning of the special location tracking modifier.

https://code.google.com/p/esprima/issues/detail?id=355
Remove filterGroup.

As suggested by ZHANG Bei <ikarienator@gmail.com>, getting rid of the filter
should give some speed-up. Currently with V8 this leads to 1.4x faster parsing
on the benchmark suite (with location tracking).

https://code.google.com/p/esprima/issues/detail?id=417
Remove the need to extend the delegate.

This temporarily reduces the speed when parsing without location
tracking (about 7% with V8). No observable performance change
when parsing with location tracking.

https://code.google.com/p/esprima/issues/detail?id=355
Fix variance unit conversion.

This is also needed for browser-based benchmarks.

https://code.google.com/p/esprima/issues/detail?id=397
Catch clause should only accept an identifier.

https://code.google.com/p/esprima/issues/detail?id=423
Revamp the speed comparison test.

Focus on parsing with location tracking.
Use the upstream code for the parsers.

https://code.google.com/p/esprima/issues/detail?id=424
Always benchmark with location tracking parsing.

https://code.google.com/p/esprima/issues/detail?id=424
For the benchmark result, show relative mean error instead of variance.

https://code.google.com/p/esprima/issues/detail?id=424
Speed comparison: No need to display the source size.

We need the precious horizontal space.

https://code.google.com/p/esprima/issues/detail?id=424
Use rawgithub.com to load upstream external projects.

https://code.google.com/p/esprima/issues/detail?id=424
A new smoke test: parse all the code in the benchmark corpus.

https://code.google.com/p/esprima/issues/detail?id=425
Ensure the smoke-test library parsing work with the barebone V8 shell.

https://code.google.com/p/esprima/issues/detail?id=425
Simplify skipComment() function.

Just like in V8 and other JavaScript engine, handle single-line and multi-line
comment separately. This avoids building a "mini state-machine" inside
skipComment() function.

This reduces the cyclomatic complexity of skipComment() from 19 to 8.

http://code.google.com/p/esprima/issues/detail?id=396
Vary parsing options in the unit tests to increase code coverage.

http://code.google.com/p/esprima/issues/detail?id=388
Minimize object construction when tracking location.

As suggested by ZHANG Bei <ikarienator@gmail.com>, there is no need for
rich object when tracking the node location. Firefox 20 shows 6% speed-up on
the full benchmarks.

https://code.google.com/p/esprima/issues/detail?id=424
Tolerant mode must accept setters with no parameter

When parsing in tolerant mode, a setter with no parameters no longer
halts parsing but instead adds the 'Unexpected token )' error to the
error list.

https://code.google.com/p/esprima/issues/detail?id=426
Do not use createLocationMarker() unnecessarily.

V8 3.19 shows 11% speed improvement.

https://code.google.com/p/esprima/issues/detail?id=424
Delegate marking should be at the right location.

Whitespaces and comments skipping should be carried out before
calling the syntax tree delegate location marking functions.

https://code.google.com/p/esprima/issues/detail?id=355
Simplify comment collection.

Instead of two separate functions, now skipComment can also collect all
line and block comments, making scanComment() not necessary anymore.

The most cyclomatic function now falls into scanRegExp().

https://code.google.com/p/esprima/issues/detail?id=396
Include changes for 1.0.3.