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.

Instead of having this here (since this is exported, why not move this to harness speficially on Harness.Compiler?