Make station deployments safer and reliable
A station must always run the code you deployed, survive a power cut mid-update, and never start a test on its own.
- Improved installs on stations: an update interrupted by a crash or power loss is detected and installed again, tools installed with a procedure keep working after an update, and a stuck install now times out instead of blocking runs.
- Fixed rare cases where a station could start a test nobody asked for, retry a download in a loop during a long test, or install an update that was rolled back or replaced in the meantime.
- Improved who can deploy on push: auto-deploy now follows one rule for GitHub, GitLab and Bitbucket, and members limited to access groups can no longer push production code to stations outside them.
- Fixed cancelled builds coming back after a webhook was delivered again, and rollbacks or pushes refusing every station when one ran on another platform.
