Clear system properties after a test is failed.

The TestConfigRule didn't clear the system properties if an exception is
thrown in a test. Becasue assume() also uses special types of exception,
system properties also not cleaned after any tests with assume.
It introduced flakiness in tests - tests can fail or pass depending on
order of execution.

The problem was introduced in https://gerrit-review.git.corp.google.com/c/gerrit/+/409500

Release-Notes: skip
Change-Id: I7b824c5b084c35868361ba4d1cd30885b18b83ba
diff --git a/java/com/google/gerrit/acceptance/TestConfigRule.java b/java/com/google/gerrit/acceptance/TestConfigRule.java
index a7f051a..e2ae416 100644
--- a/java/com/google/gerrit/acceptance/TestConfigRule.java
+++ b/java/com/google/gerrit/acceptance/TestConfigRule.java
@@ -47,8 +47,11 @@
       @Override
       public void evaluate() throws Throwable {
         setTestConfigFromDescription(description);
-        statement.evaluate();
-        clear();
+        try {
+          statement.evaluate();
+        } finally {
+          clear();
+        }
       }
     };
   }