Capturing elapsed time of interrupted test cases due to timeout (#4253)

**What type of PR is this?**
Feature

**What does this PR do? Why is it needed?**
When a test case is interrupted at timeout, we don't have the
pass/fail/skip event to report elapsed time. However, we can parse them
from the error message at the end to figure it out. The error message
looks like:

```
panic: test timed out after 8s
        running tests:
                TestReport (8s)
                TestReport/test_3 (2s)
```

Also, instead of reporting those test cases as "No pass/skip/fail event
found for test", we can now report them as "Interrupted".
3 files changed