Resultify generate reports

This is part of AT-646.
I would expect it die on failure, but I don't have strong feelings about it.  I do think we should have a default behavior/policy in our codebase (either return undef or die on failure) and then document when we deviate from that.  Since this is called by execute/shortcut and is Command::V2 related we should do whatever is the default in that realm.  I suppose that since shortcut and execute convey success with their return value's truthyness, we should do as you suggest.