Assert typeof node === "object" in marker.apply.

This assertion should be non-controversial, because marker.apply
clearly expects to assign properties of the given node.

However, adding this assertion causes many tests to fail when typeof
node === "boolean".

Issue: https://code.google.com/p/esprima/issues/detail?id=428
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 assignments on boolean values.

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