Factor out classification of build/test steps into pass/fail/warn/timeout/not_executed/unexpected_pass