go_test: pass cdeps files to linker after split test recompilation (#2625)

When a test contains both internal and external files, and the
external files indirectly import the library under test, some package
need to be recompiled so that the packages that import the library
under test are compiled with the internal test archive instead. This
was implemented in #2579.

That change caused a regression: the recompiled archives didn't
include input files from cdeps dependencies. This change adds a new
GoArchiveData field to track direct dependencies. That can be used to
rebuild a depset of all the needed files.

Fixes #2622
11 files changed