I think this is different from status. This is used for quick diagnostic. So I'll go for a new field in db + data for builds: steps_diagnostics

and add a process.buildstep.Buildstep.setDiagnostic(string) method, which does
self.build.setStepDiagnostic(self.name, string)

and the final diagnostic data would be like:

{'trial': "1 test failed' , 'pylint:' 'found 1 issue'}

Having it in the build data, allows to avoid fetching the step details, as most status plugins just want the diagnostic. The irc plugin, might just want to output the failed steps, while an email plugin may also want to fetch the last lines of logs

This problem does not belong to this PR. I'll propose a patch later