reorganise <failure> element

Allow <failure> to optionally contain a <message>, used by the cppcheck
parser (and potentially by cpychecker)

Eliminate the <stdout>, <stderr>, <returncode> elements from <failure> in
favor of a new <custom-fields> element, which can contain a list of
key/value pairs (where the values are int or str).