Fix construction of typed promise.
Implement combined promises.

Combined promises are promises that combine the results of multiple
promises into a (combined) result.  Combined promises are key to
enabling functional composition.

While here, do some small fixes/optimizations to workq promises.