ES6 typings

This is the first stab at ES6 typing's. i think i have all the main ones covered in this review. 

There are still a main issue here that we are not handling, which is the manageability of the library. currently we have multiple files, for DOM webworkers, etc.. and the target adds another dimension. 

We have talked about this before in the design meeting to add a new attribute that allows us to filter out types based on tags. this is a different issue and will be handled in a future change. 

Still missing:
- Use of known symbols as we do not have support for computed properties yet.

What happens on compile on save - So what happens with emit - what file name do we give.. Should it be emitted? Should it be considered ts file and not .d.ts file? What about declaration file generation - I think we should give error if emit is called with this option. (Emit time error)
We need tests with and without this option and .d.ts and .js file generation. Can be compiler baseline I guess.