Re-factoring emitter for emitting ES6 feature natively and down-level

Since majority of ES6 feature will have to emit for ES5, ES3, this pull request is to re-factoring emitJavascript such that we will have separate functions for emit a node in native ES6 and down-level ES5/ES3 without having to check the compilerOption.target for every kind of node. 
Give an example here for unfamiliar readers:

```TypeScript
// For example,
//   module m {
//        export var y = 10;
//    }
//
//    module m {
//        var x = { y };
//    }