Draft: hadrian: strictly ensure test:all_deps target actually builds all required dependencies
This patch strictly ensures the "test:all_deps" hadrian target builds all dependencies required to run the testsuite, by code reuse between "test"/"test:all_deps" targets. The original implementation of "test:all_deps" is still missing certain targets to build, e.g. haddock/hpc/runghc programs when testing a cross GHC.