Ref T2015. Several fixes:
- checkForCancellation() no longer exists, and isn't relevant for resumable stops. Throw it away for now.
- Fix an issue where a build could pass even if the final step failed.
- phlog() exceptions so they show up in bin/harbormaster and the daemon logs.
- Write an exception log if a step fails.
- Add a "throw an exception" step to debug this stuff more easily.