switch to streams2

this was causing a race condition when using gulp.clean as it emits 'end' before all files are actually gone, had to add some stuff to the tests as you were listening for end without listening for data.