Add support for breaking a waterfall chain

This patch allows for more fine-grained control of a waterfall chain. Calling `callback.final` at any point in the waterfall will jump to the completion callback skipping any steps left in the chain.

Refs #11