Add exclude_files and exclude_dirs properties to java_import

Prebuilt jars sometime contain files that we don't want.  In Make
we would delete everything in META-INF when importing jars, but
that caused problems when there were necessary files in there,
so we added LOCAL_DONT_DELETE_JAR_META_INF.

Soong does the opposite, keeping everything by default.  Add
properties to allow explicitly stripping unwanted files instead.

Bug: 111389216
Test: m checkbuild
Change-Id: I6d07f519ebc7d0e1bf0af93416bb569e3c2b1500
diff --git a/java/java_test.go b/java/java_test.go
index 537bdb9..6bba29b 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -598,14 +598,15 @@
 
 	javac := ctx.ModuleForTests("foo", "android_common").Rule("javac")
 	combineJar := ctx.ModuleForTests("foo", "android_common").Description("for javac")
+	barJar := ctx.ModuleForTests("bar", "android_common").Rule("combineJar").Output
+	bazJar := ctx.ModuleForTests("baz", "android_common").Rule("combineJar").Output
 
-	bar := "a.jar"
-	if !strings.Contains(javac.Args["classpath"], bar) {
-		t.Errorf("foo classpath %v does not contain %q", javac.Args["classpath"], bar)
+	if !strings.Contains(javac.Args["classpath"], barJar.String()) {
+		t.Errorf("foo classpath %v does not contain %q", javac.Args["classpath"], barJar.String())
 	}
 
-	if len(combineJar.Inputs) != 2 || combineJar.Inputs[1].String() != "b.jar" {
-		t.Errorf("foo combineJar inputs %v does not contain %q", combineJar.Inputs, "b.jar")
+	if len(combineJar.Inputs) != 2 || combineJar.Inputs[1].String() != bazJar.String() {
+		t.Errorf("foo combineJar inputs %v does not contain %q", combineJar.Inputs, bazJar.String())
 	}
 }