Replace when with bluebird

Currently has two commits, one for the bulk of the tests conversion and one for the rest.  Will squash if/when this is ready.
if we have `sequence` as a util, perhaps `pipeline` ought to be split out like this too?