Ensure that errors inside promises result in non-zero exit status.

In theory the promise infrastructure is supposed to take care of this
for us when we use the .done() method -- but in practice sometimes
exceptions sneak through the cracks.  Do The Right Thing explicitly.

Change-Id: I54d2b92d121a71404ff9fce6b35d62d61ce784ec