Refactor generateManifest infra tool

- Changed from using bash/perl to using go.
- Now "if" statements in .gjson files can be stacked, and there can be
  conditional "or" statements inside, like |#if defined(A || B)|.
- Go tests were added to make sure that the generateManifest tool
  continues to work as expected.
- Updated docs to reflect the fact that the manifest is now generated
  with a different tool, and Go is now required in the build phase.

Change-Id: Id866d1a49a7ab4aac2dcf8d188c56bb8254a80de
diff --git a/testdata/manifest_small1.gjson b/testdata/manifest_small1.gjson
new file mode 100644
index 0000000..5027087
--- /dev/null
+++ b/testdata/manifest_small1.gjson
@@ -0,0 +1,26 @@
+{
+  "foo": "option",
+#if defined(AAA)
+  "bar": 1,
+    #endif                   
+#if defined(    BBB )
+  "count": 2,
+  #if defined(B || C)    
+  "mmm": {},
+#endif
+#if defined(C)
+  #if defined(D)  
+  "ok": true,
+#endif
+#endif
+#if defined(D)
+#if defined(C)
+  "ok2": false,
+#endif
+#endif
+#endif
+#if defined(CDE || AAA)
+  "shouldBe": true,
+#endif
+  "so": 3.14
+}