Add SetProperties to json-module-graph

SetProperties contains name and type of properties set in the bp file
and any set via defaults. There may be properties that were not
specified in an Android.bp file due to:
* specified via go code (e.g. LoadHooks)
* property is _not_ a pointer -- so it is not possible to tell between
  not set in bp file and default value.

Test: soong tests
Test: m json-module-graph and verify
Change-Id: I4cb868b1d7db566e72636c6fb53bb9c7090f236a
diff --git a/java/droidstubs_test.go b/java/droidstubs_test.go
index 5738217..82ebba7 100644
--- a/java/droidstubs_test.go
+++ b/java/droidstubs_test.go
@@ -244,17 +244,14 @@
 	}
 	jsonData := map[string]interface{}{}
 	prebuiltStubsSources.AddJSONData(&jsonData)
-	if fmt.Sprint(jsonData) != fmt.Sprint(
+	expectedOut := []map[string]interface{}{
 		map[string]interface{}{
-			"Android": map[string]interface{}{},
-			"Actions": []map[string]interface{}{
-				map[string]interface{}{
-					"Inputs":  []string{},
-					"Outputs": []string{},
-				},
-			},
-		}) {
-		t.Errorf("The JSON data map isn't as expected %s.", jsonData)
+			"Inputs":  []string{},
+			"Outputs": []string{},
+		},
+	}
+	if !reflect.DeepEqual(jsonData["Actions"], expectedOut) {
+		t.Errorf("The JSON action data %#v isn't as expected %#v.", jsonData["Actions"], expectedOut)
 	}
 }