Make "pipe" a public method

I initially didn't want people creating a pipeline and then tacking
things on to it with "pipeline.pipe(..)". I'm no longer convinced that's
a bad thing.
Add rough documentation
Return nil from pipe

I don't want to leak all of the steps.
Splat args between the "run"s