ES6 typings

This is still work in progress. Feedback is appreciated.

Still missing:
- Typed arrays
- Promise
- Reflect
- Loader
- Use of known symbols

I would prefer `StringConstructor`. The ES spec calls it "the String Constructor" when describing the object and does not ever use the word "static" except to reserve it as a keyword.

http://www.ecma-international.org/ecma-262/5.1/#sec-15.5.3