Track and report which state in which a job failed
When a job fails, right now we have no metrics on where it failed. For example, these are possible places where things failed:
- git clone step
- Download artifacts
- Download cache
- Upload cache
- Error in job
We should track this, report this from the runner, and record it in the database.
/cc: @ayufan, @bikebilly