`waterfall` now passes all arguments to callback even if there was an error.

The fact that `waterfall` doesn't pass all arguments in case of an error is bad because one could be triggering errors on purpose while still wanting to maintain certain flow of data.