New: report output to a file (fixes #1027)

This merge would allow user to supply the reportOutput option with the specified file path and the output would be written to that file.
This would help us to generate pretty reports using HTML.
If you're using `setTimeout()`, then you need to use an async test.