order - a reference to an array of names of pipes to be run, in order
pipe - a reference to a hash of pipe names and implementations (code refs)
on_success - what to do on success (default 'value'; see 'on_success' below)

This method calls each piece of the pipeline in order. Non-success exceptions are rethrown. Success exceptions are handled according to the defined "on_success" behavior.

If a pipeline piece is missing, a Sub::Pipeline::PipeMissing exception is thrown. This method does not implement this in terms of "check", so multiple pipe pieces may be called before this exception is thrown.