Revert "Revert "combine: add _pipeline so errors will be handled""

Reverts Clever/understream#60. Also adds a guard in pipeline_of_streams to avoid recursing infinitely on a stream if that stream's _pipeline method returns the stream itself. This could occur if a stream from this version of Understream interacts with a stream from an old version of Understream (in which _pipeline returned the stream itself).
Can we write a test for this? I didn't know that `_.without` could be used on arrays of objects like this