Whitelist exported platform properties

This CL lists all the exported platform properties in
private/exported_property_contexts.

Additionally accessing core_property_type from vendor components is
restricted.
Instead public_readable_property_type is used to allow vendor components
to read exported platform properties, and accessibility from
vendor_init is also specified explicitly.

Note that whitelisting would be applied only if
PRODUCT_COMPATIBLE_PROPERTY is set on.

Bug: 38146102
Test: tested on walleye with PRODUCT_COMPATIBLE_PROPERTY=true
Change-Id: I304ba428cc4ca82668fec2ddeb17c971e7ec065e
diff --git a/definitions.mk b/definitions.mk
index 45240e7..8a8c9c6 100644
--- a/definitions.mk
+++ b/definitions.mk
@@ -9,6 +9,7 @@
 	-D target_arch=$(PRIVATE_TGT_ARCH) \
 	-D target_with_asan=$(PRIVATE_TGT_WITH_ASAN) \
 	-D target_full_treble=$(PRIVATE_SEPOLICY_SPLIT) \
+	-D target_compatible_property=$(PRIVATE_COMPATIBLE_PROPERTY) \
 	$(PRIVATE_TGT_RECOVERY) \
 	-s $^ > $@
 endef