Implement sysprop type checker

sysprop type checker compares a sysprop_library API file and
property_contexts files, and detects if there are any mismatches of
property types. For example, the following snippets are detected.

// foo.sysprop
prop {
prop_name: "ro.foo.bar"
type: Integer
...
}

// property_contexts
ro.foo.bar u:object_r:foo_prop:s0 exact string

"ro.foo.bar" is an Integer in .sysprop file, but it's a string in
property_contexts file.

Bug: 151879375
Test: sysprop_test
Test: run "m PlatformProperties" and see existing mismatches.
Change-Id: Ieb9965d14b8c90cfc730c3d20d95a28ecaabeba4
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
index ae2bdd6..699a2a4 100644
--- a/build/soong/Android.bp
+++ b/build/soong/Android.bp
@@ -20,6 +20,7 @@
         "soong",
         "soong-android",
         "soong-genrule",
+        "soong-sysprop",
     ],
     srcs: [
         "cil_compat_map.go",