Change bool, and string properties to *bool, and *string for cc

there's no use case for prepending/appending to bool, and string
properties within module struct. Declearing "*bool" and "*string" almost
cover everything user need.

I did see one case that user specify relative_install_path as
path prefix in cc_defaults, and concatenate with the one in real module
to get the final relative install path in Android.bp <bionic/tests/libs>.

Test: m -j checkbuild
Bug: b/68853585
Change-Id: If3a7a2689c3fc307aae136af6bc9c57f27a1e1a0
diff --git a/android/prebuilt.go b/android/prebuilt.go
index f29f865..d3f9704 100644
--- a/android/prebuilt.go
+++ b/android/prebuilt.go
@@ -32,7 +32,7 @@
 type PrebuiltProperties struct {
 	// When prefer is set to true the prebuilt will be used instead of any source module with
 	// a matching name.
-	Prefer bool `android:"arch_variant"`
+	Prefer *bool `android:"arch_variant"`
 
 	SourceExists bool `blueprint:"mutated"`
 	UsePrebuilt  bool `blueprint:"mutated"`
@@ -146,7 +146,7 @@
 	}
 
 	// TODO: use p.Properties.Name and ctx.ModuleDir to override preference
-	if p.properties.Prefer {
+	if Bool(p.properties.Prefer) {
 		return true
 	}