Switch to through from through2

Through2 emits end after _flush function is completed. This causes wrong interpretation of end of the stream in orchestrator. Through in other hand give possibility to not emit `end`, if something goes wrong in flush function.
Merge pull request #57 from floatdrop/exit-code

Switch to through from through2
Call through callback when mocha emits end

This will fix #49 issue. Since mocha do not emits any events, if no tests was provided (see https://github.com/visionmedia/mocha/blob/master/lib/runner.js#L488) + callback is called in sync - we can't access to mocha runner from inside of the callback.