Add more descriptive failure reasons for stuck and timed out builds

What does this MR do and why?

this MR split up the stuck_or_timeout_failure into multiple more specific and descriptive failure reasons. We need improved visibility into these cases so we can articulate why they happen, and in turn mitigate what we can. Considering all of these failures in one large group makes them unactionable.

There's more description in Clarify and differentiate stuck_or_timeout job ... (#595752 - closed), which this resolves.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by drew stachon

Merge request reports

Loading