query_by_field: Add operators for array membership

This CL adds support for new operators to query_by_field.py: ':' for
array membership, and '!:' for array non-membership. So
`query_by_field.py 'ec_capability:x86'` will show all platforms with the
x86 EC capability, while `query_by_field.py 'ec_capability!:x86'` will
show all platforms without the x86 EC capability.

BUG=b:173118460
TEST=unittests

Change-Id: I95d675a52b91a19d0c6e271ade616c87fc14fa28
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/fw-testing-configs/+/2558486
Tested-by: Greg Edelston <gredelston@google.com>
Auto-Submit: Greg Edelston <gredelston@google.com>
Reviewed-by: Kevin Shelton <kmshelton@chromium.org>
Commit-Queue: Kevin Shelton <kmshelton@chromium.org>
diff --git a/platform_json_unittest.py b/platform_json_unittest.py
index 3bc1be8..b0c9008 100755
--- a/platform_json_unittest.py
+++ b/platform_json_unittest.py
@@ -26,12 +26,19 @@
         "field1": 5,
         "field2": 5,
         "field3": 5,
-        "field4": 5
+        "field4": 5,
+        "fieldArray": [
+            "elem5"
+        ]
     },
     "my_platform": {
         "platform": "my_platform",
         "parent": "my_parent",
         "field1": 1,
+        "fieldArray": [
+            "elem1",
+            "elem2"
+        ],
         "models": {
             "my_model": {
                 "field1": 4
@@ -119,7 +126,11 @@
             'field1': 1,
             'field2': 2,
             'field3': 3,
-            'field4': 5
+            'field4': 5,
+            'fieldArray': [
+                'elem1',
+                'elem2',
+            ],
         })
         expected_output = json.dumps(expected_json, indent=4) + '\n'
         self.assertEqual(_run_main(argv), expected_output)