Fix promise incompatibility issue.
Fix promise incompatibility issue.

`co` uses a different promise library instead of `when` and the two
don't play entirely nicely together - keep things consistent by
exposing a `when` promise instead.

jkp/overman