added test that ensures fail reporter works when the failure is the second file.
switched to custom stream module that wraps through2
the streams now use the plain through2() function so they can specify a flush handler if they want.
buffer errors in the fail reporter by default, fixed #59
reorganized the tests a bit, no more function wrappers.
simplified fail reporter, removing the buffer option
added a timeout param to the stream wraper
tests for the stream module and fail reporter