Fixed the following bugs:
- Unhandled exceptions during teardown cause runtest process to fail on a stash KeyError
New featues:
- Final reported test durations are now based on the latest test attempt by default.
- The old behavior, where all attempt durations were summed into the final duration, can still be enabled via the --cumulative-timings=1 flag or via the flaky marker timings arg
- Instead of attaching a full report to a test item as an attr (discouraged by Pytest documentation). The outcome of the test and the number of attempts are now safely saved to each item's stash. Both keys `success_key` and `attempt_key` can be imported and used to access these values in other hooks or fixtures.