GetEmitOutput function and testfiles

you want to tell the user what happened, instead of the reason why it happened. i.e. declarationEmitError, does that mean all outputs failed or just the declaration..

the names could be better though.. here is a suggestion I made on a different PR.
```TypeScript
enum ReturnCode {
    NoErrors = 0,                       // All outputs generated as requested (.js, .map, .d.ts), no errors reported
    OutputGenerationSkipped = 1,        // No .js generated becuase of Syntax Errors, or compiler options errors, nothing generated
    OutputGeneratedWithErrors = 2,      // .js and .map generated with semantic errors
    DeclarationsGenerationSkipped = 3,  // .d.ts gneration skipped becuase of Semantic Errors, or declaration emitter-specific errors
    IOErrorsEncountered = 4              // outputs are generated partially because of IO errors
}
```