Fix wrong location info when comments are present.

Aggressive optimization of incrementing the index without taking the
character with nextChar() leads to misleading position.

Also, line terminator inside a block comment needs a special treatment.

http://code.google.com/p/esprima/issues/detail?id=225
Vary parsing options while testing for invalid syntax.

This gives the same code coverage for paired function like skipComment()
and scanComment().

http://code.google.com/p/esprima/issues/detail?id=221
Reorganize binary node tracking routines.

Shuffling the code in wrapTrackingFunction() function to make it simpler
to follow. This also gives it a full code coverage.

http://code.google.com/p/esprima/issues/detail?id=221
Remove source modification feature.

It lives now at Esmorph project: https://github.com/ariya/esmorph.

http://code.google.com/p/esprima/issues/detail?id=163
Import Esmorph code for the Function Trace demo.

Because the source modifier is splitted into its own project, we need
to import it as a third-party code so that the demo still works.

This is taken from https://github.com/ariya/morph revision 874d2e50b7
(dated Mar 13).

http://code.google.com/p/esprima/issues/detail?id=163
Tolerant mode: ignore return not within a function

http://code.google.com/p/esprima/issues/detail?id=226
Simplify nextChar() function with increment operator.

http://code.google.com/p/esprima/issues/detail?id=217
Do not use Object.freeze for various hash tables.

As found out by Yusuke Suzuki, Object.freeze does not improve the
performance. We will revisit this once in the future it does actually
help.

http://code.google.com/p/esprima/issues/detail?id=227
Tolerant mode: ignore with restriction

http://code.google.com/p/esprima/issues/detail?id=230
Preserve line terminators in block comments

Issue: http://code.google.com/p/esprima/issues/detail?id=231
Merge remote-tracking branch 'joostwim/block-comment-preserve'
Mention github.com/Yoric/Marv-the-Tinker.
Compensate if invalid regular expression flag is not handled correctly.

http://code.google.com/p/esprima/issues/detail?id=224
Reenable testing with Node.js 0.4.

This reverts commit f96ec52b850570c84802e7b2c2fa103df6071ec8.

http://code.google.com/p/esprima/issues/detail?id=224
Unbreak the test suite on older web browsers.

Do not use Array#forEach.

http://code.google.com/p/esprima/issues/detail?id=234
Use increment operator in comment handling functions.

http://code.google.com/p/esprima/issues/detail?id=217
Use increment operator in various scanning functions.

http://code.google.com/p/esprima/issues/detail?id=217
Tree interface for the parse demo.

Because generating such a tree can be time-consuming, it's only created
if the new 'Tree' tab is active.

The tree view is YUI 2 TreeView http://developer.yahoo.com/yui/treeview/.
It is included for convenience as a third-party library. YUI 2 TreeView
is distributed under the BSD license.

http://code.google.com/p/esprima/issues/detail?id=21
Generate coverage analysis report.

Coverage analysis report is produced using tools/update-coverage.sh. It
runs node-cover and then modify the result to keep only what is needed.

http://code.google.com/p/esprima/issues/detail?id=238
Show an exemplary coverage analysis result.

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