Enhance the execution harness to allow detecting if the execution completed without returning the promised value or propagating the error.
Error if a promise is used more than once.

Closes #440.
Add mention of the exec harness for promises.