Make perf metrics collection & output via instrumentation simpler

- Added includeDetailedStats metadata to TimedTest for collecting additional
  metrics like memory usage and binder transactions
- Added PerformanceCollectorTestCase interface for hard-typing test class as
  performance test while still able to inherit from instrumenation test classes
- Reverted previous changes to PerformanceTestBase, will deprecate
  PerformanceTestBase/Case in a future CL
- Removed 'performance.' prefix from keys written to instrumentation output
diff --git a/test-runner/android/test/AndroidTestRunner.java b/test-runner/android/test/AndroidTestRunner.java
index 0f1599a..fc9832c 100644
--- a/test-runner/android/test/AndroidTestRunner.java
+++ b/test-runner/android/test/AndroidTestRunner.java
@@ -133,7 +133,7 @@
         }
         return new TestResult();
     }
-    
+
     void setSkipExecution(boolean skip) {
         mSkipExecution = skip;
     }
@@ -165,7 +165,7 @@
         for (TestCase testCase : mTestCases) {
             setContextIfAndroidTestCase(testCase, mContext, testContext);
             setInstrumentationIfInstrumentationTestCase(testCase, mInstrumentation);
-            setPerformanceWriterIfPerformanceTestCase(testCase, mPerfWriter);
+            setPerformanceWriterIfPerformanceCollectorTestCase(testCase, mPerfWriter);
             testCase.run(mTestResult);
         }
     }
@@ -188,10 +188,10 @@
         }
     }
 
-    private void setPerformanceWriterIfPerformanceTestCase(
+    private void setPerformanceWriterIfPerformanceCollectorTestCase(
             Test test, PerformanceResultsWriter writer) {
-        if (PerformanceTestBase.class.isAssignableFrom(test.getClass())) {
-            ((PerformanceTestBase) test).setPerformanceResultsWriter(writer);
+        if (PerformanceCollectorTestCase.class.isAssignableFrom(test.getClass())) {
+            ((PerformanceCollectorTestCase) test).setPerformanceResultsWriter(writer);
         }
     }