Coverage support.

- open source CoverageCommand.java
- add a collect-coverage.sh script
- update test-setup.sh to be compatible with the coverage collector
- update StandaloneTestStrategy to provide the necessary env variables
- update StandaloneTestStrategy to set the right command line for coverage
- add support for C++ coverage

An HTML report can then be generated with genhtml like this:
genhtml -o report/ -p "$(readlink -f bazel-<project>)" path/to/coverage.dat

Progress on #1118.

--
MOS_MIGRATED_REVID=140125715
diff --git a/tools/BUILD b/tools/BUILD
index e2ba653..64115aa 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -16,6 +16,7 @@
         "//tools/build_defs/pkg:srcs",
         "//tools/build_defs/repo:srcs",
         "//tools/build_rules:srcs",
+        "//tools/coverage:srcs",
         "//tools/proto/toolchains:srcs",
         "//tools/ide:srcs",
         "//tools/jdk:srcs",
@@ -42,6 +43,7 @@
         "//tools/build_defs/repo:srcs",
         "//tools/build_rules:embedded_tools_srcs",
         "//tools/buildstamp:srcs",
+        "//tools/coverage:srcs",
         "//tools/proto/toolchains:srcs",
         "//tools/cpp:srcs",
         "//tools/genrule:srcs",