Recursive module compile

This merge involves two significant changes:
1- functions, variables and stuff cleanup and usage of promises.
2- use `recursiveModuleCompileToSingleFile` instead of `traceur.compile`. It's the very same thing with the addition of automatically compile dependencies.