There are a few other places that call `set_exception` and in the cases that trigger those calls, if the example is pending, should it also store the exception to `metadata[:execution_result][:pending_exception] = e`?  Maybe the `pending?` check should be moved directly into `set_exception`?  Seems like anytime set an exception we'd want this treatment, not just here, right?  (Might be worth adding a spec for one or more of those cases if there is indeed a bug).