Add XJS support

Adds support for "XJS" tags, XML in JS. For example,

  var span = <span>Text</span>;
  var div = <div>{span}</div>;

Originally implemented by voloko in https://github.com/voloko/esprima/tree/XJS.
fix XJS literal child bug
Merge rebased commits from upstream/harmony
Merge commits from harmony branch
Don't pass parseParam to wrapTracking.

The parseParam function is just a helper that returns a boolean value, rather
than a true parsing function that returns an AST node. When wrapped by
wrapTracking, which assumes that the result of parseFunction is an AST node,
parseParam becomes unusable in browsers that restrict property accesses on
boolean values.