Improve several exception behaviors for Harbormaster workers
Summary:
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.
Test Plan:
- Grepped for checkForCancellation().
- Ran a failing build where the final step caused the failure.
- Observed phlog() in bin/harbormaster output.
- Observed log in web UI:
{F101168}
Reviewers: btrahan, hach-que
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2015
Differential Revision: https://secure.phabricator.com/D7935