(#23086) Ensure that failed_because events have a name

The name of an event is assumed to exist for any reports that are not
created by the inspect command. The inspect command constructs its
reports itself and does not currently use failed_because(). Therefore it
should be safe (if sad-making) to have *only* failed_because() set a
specific name on the event it creates.
Merge pull request #2043 from zaphod42/issue/master/23086-no-name-attribute-if-failed_because

(#23086) Ensure that failed_because events have a name