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. 
perhaps "emitDownlevelShorthandPropertyAssignment"?

Then the "emitDownlevel" is an immediate indicator that this is for code that we rewrite to a previous platform.

Your call.