Start using "struct Objects" to store object Paths

So that we can represent other files that get generated along with the
objects, like the gcno coverage information, and per-file clang-tidy
runs.

Test: Soong's build.ninja identical before/after
Change-Id: I5c553a153c436d5403549f62c73fe79c5f101779
diff --git a/cc/linker.go b/cc/linker.go
index 0923338..28572c6 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -197,6 +197,6 @@
 }
 
 func (linker *baseLinker) link(ctx ModuleContext,
-	flags Flags, deps PathDeps, objFiles android.Paths) android.Path {
+	flags Flags, deps PathDeps, objs Objects) android.Path {
 	panic(fmt.Errorf("baseLinker doesn't know how to link"))
 }