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.

In binder we remove the extension of the file if the sourceFile is external module -> What happens in such case - that might lead to collision in external module name. eg. I have soucefiles "a.ts" and "a" with this option. both external modules