bpo-33718: regrtest: use "xxx then yyy" result if re-run (GH-7521)

If tests are re-run, use "xxx then yyy" result format (ex: "FAILURE
then SUCCESS") to show that some failing tests have been re-run.

Add also test_regrtest.test_rerun_fail() test.
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py
index 6a818cd..3429b37 100644
--- a/Lib/test/libregrtest/main.py
+++ b/Lib/test/libregrtest/main.py
@@ -79,6 +79,7 @@
         self.resource_denieds = []
         self.environment_changed = []
         self.rerun = []
+        self.first_result = None
         self.interrupted = False
 
         # used by --slow
@@ -273,6 +274,8 @@
         self.ns.failfast = False
         self.ns.verbose3 = False
 
+        self.first_result = self.get_tests_result()
+
         print()
         print("Re-running failed tests in verbose mode")
         self.rerun = self.bad[:]
@@ -447,7 +450,10 @@
         if not result:
             result.append("SUCCESS")
 
-        return ', '.join(result)
+        result = ', '.join(result)
+        if self.first_result:
+            result = '%s then %s' % (self.first_result, result)
+        return result
 
     def run_tests(self):
         # For a partial run, we do not need to clutter the output.