test_module_config for sh_test

[retry reverted 45dca5c8cc538392edbde4ee1077fc86509b2e38 after rebase]
Implemented test_module_config for sh_tests.
There are some shell tests that have 130 cc_binaries and they get
duplicated in the vts .zip.  test_module_config allows deduping for
lowmem and hwasan use cases freeing a 1 G in the zip.

Moved some of the knowledge about constructing the make rules back to
the provider.

I haven't tried this for cc_test or rust_test, but I think it will be
similar to sh_test if we ever need it.
There is currently only one usecase for using test_module_config with
sh_test (and none for cc_ or rust_)

Also added "extra_test_configs" to sh_test

Sample bp file.

test_module_config {
    name: "vts_ltp_tmc",
    base: "vts_ltp_test_x86_64",
    test_suites: [
         "general-tests",
	 "vts"
    ],
    options: [
        {name: "is-low-mem", value: "false"},
        {name: "is-hwasan", value: "true"},
    ],
}

Test: go test ./
Test: m vts_ltp_test_x86_64_hwasan
Test: atest vts_ltp_test_x86_64_hwasan
Test: m vts  # inspect the zip for symlinks
Test: CtsAppTestCases_android_server_am
Test: atest -c -v vts_ltp_test_x86_64:vts_ltp_test_x86_64_hwa
Change-Id: I208797f97e3448bcff7434630adfd7476fc275f9
diff --git a/tradefed_modules/Android.bp b/tradefed_modules/Android.bp
index 67d91b2..a765a05 100644
--- a/tradefed_modules/Android.bp
+++ b/tradefed_modules/Android.bp
@@ -9,6 +9,7 @@
         "blueprint",
         "soong-android",
         "soong-java",
+        "soong-sh",
         "soong-tradefed",
     ],
     srcs: [