Add Sequence and Parallel.

Add Promise extensions that allow bundling multiple payloads into
a single Promise. These are Sequence and Parallel that take multiple
payload functions and behave like Promise that executes all payloads.

Sequence executes all payload functions or steps in sequence and
each step must succeed before next one will be executed.

Parallel runs all payload functions in parallel and reports success
when all have succeed.

Both report progress after each payload function execution.