Umbrella task for moving Harbormaster out of prototype. This iteration only includes support for external build systems (like Jenkins or a similar custom system), not hosted builds.
The major changes are:
- **Change Handoff** (T8089): Make it easy to hand changes off to Jenkins or a similar system without requiring any fragile or messy intermediate steps (no `arc patch`, no side-effect pushes to real branches).
- **Unit/Lint Ownership** (T8095): Move unit and lint results entirely into Harbormaster and let it own them completely.
- **Reporting**: Provide better tools for external build systems to report detailed build results (not just pass/fail).
- **Showing Results**: Show build results more clearly in the UI, particularly in Differential/Diffusion.
- **UI/UX**: Generally modernize and improve the Harbormaster UI and UX.
This would roughly leave us with a reasonable data model, reasonable UI, good application integration, and the ability to drive Jenkins-like external test environments in a plausible way. Future iterations would build on Drydock and the APIs to offer hosted builds, more powerful builds, and possibly integration with less flexible external build systems like Travis/Circle.