Custom Junit test report.

Duplicated the report classes from Gradle to customize them
in order to show the device the test run on, or which flavor
and project the test is coming from.
This duplicated code is in its own source folder to separate
this from AOSP code and retains the original copyright.

The "test" tasks which runs all test<Flavor> tasks now also
aggregate the results of the test<Flavor> tasks and is designed
to run even when those fails by telling them to ignore errors
if the "test" task is set to run.

Added a new plugin strictly to do aggregate for the subprojects.
Plugin is called 'android-reporting'
It's meant to be used by the root project. It behaves similarly
as the "test" class in the android project, by telling sub
tasks to ignore errors.

The aggregate tasks will throw an exception if the sub test tasks
saw errors in order to ensure that the caller to gradle can
manage errors still.

Change-Id: I2c1df77cf8073fb74b4145b09aa7609d7999ef6c
diff --git a/tests/flavorlibWithFailedTests/build.gradle b/tests/flavorlibWithFailedTests/build.gradle
index a0832c6..8090336 100644
--- a/tests/flavorlibWithFailedTests/build.gradle
+++ b/tests/flavorlibWithFailedTests/build.gradle
@@ -6,3 +6,5 @@
         classpath 'com.android.tools.build:gradle:0.3-SNAPSHOT'
     }
 }
+
+apply plugin: 'android-reporting'
\ No newline at end of file