Merge pull request #239 from artcompiler/e4x

More toXMLString, toXML and descendants
Change parsing of metadata to follow the Flash Player, and return deep clones with public names when requesting it via DescribeTypeJSON
Speed up Interface#IsInterface check by turning cls.implementedInterfaces into a map with the interfaces the class implements as keys (and values)

Theoretically, the lookup should've been a linear search through the class's list of implemented interfaces. Because of a bug in applyInterfaceBindings, it was a recursive search through all of the class's parents' lists, which contained duplicate entries for their implemented interfaces: one for each child class ...
Merge pull request #240 from tschneidereit/master

Some fixes to reflection stuff. r=mbx,jeffdyer
Partly-complete implementation of DescribeTypeJSON

Includes support for interfaces and variables, accessors and some fields of methods, including their associated metadata.

Doesn't include support for class-level interfaces and inherited properties.
Adds avmplus encoding switching and strict array for AMF0
Merge pull request #243 from yurydelendik/amf0

Adds avmplus encoding switching and strict array for AMF0
Merge pull request #245 from artcompiler/e4x

Misc e4x fixes
Mostly-complete implementation of DescribeTypeJSON

Adds support for bases and method parameters, the 'declaredBy' field and for coIlecting inherited properties.

Class-level stuff still missing
Finish implementation of DescribeTypeJSON

Adds support for the class's own metadata and includes some code cleanup. Not enough, but something.
Implement RegExp using XRegExp by Steven Levithan
Merge pull request #246 from artcompiler/regexp

Implement RegExp using XRegExp by Steven Levithan
QNs in Open Methods maps are not prefixed.
Move indexGet/Set logic to the backend. Make sure get/setProperty have control dependencies.
Handle MultinameTypes when searching for traits.
Forgot to patch the open method when applying protected aliases.
Add CallProperty IR Nodes.
Stub out textColor and accessiblityProperties.
Move xregexp.js above native.js.

XRegExp patches String.prototype and RegExp.prototype, moving xregexp.js above native.js lets us install XRegExp before
any of the VM code references any of these patched methods.
Add bindings to XRegExp and new test case.