Updating SpiderMonkey extensions to the ES6 spec

We've implemented a ton of stuff, dating back years, that is going to be in ES6 but in a slightly different form.

Direct proxies

There is a ton of verbiage here and it is still under active development. Still, I think it should be pretty easy to implement. We already have the forwarding code. We can keep Proxy.create and createFunction without a lot of extra effort.

Harmony infrastructure

Some minimal steps here are a prerequisite to doing the features that require a Harmony opt-in: modules and import, block-scoped functions, typeof null, and lexical scoping of names declared at toplevel.

New SM version number - This is enough to get started on harmony features with only shell tests.