regulators: Support a string or vector for VPD

Add a 'byte_values' alternative to the 'value' entry in the compare VPD
action.  This is to support VPD values that are not strings, such as
'HW', a new IBM keyword that describes the version of a piece of
hardware.

To support this, the VPD class now treats all VPD keyword values as
vectors of uint8_ts, including in its data cache.  If a compare VPD
action in the JSON contains a string value, it will be converted to the
vector before the CompareVPDAction class is created.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I3fcabf896f4885feae1b07ee2c3da5929cf8bfa4
diff --git a/phosphor-regulators/schema/config_schema.json b/phosphor-regulators/schema/config_schema.json
index c6ef268..98c692b 100644
--- a/phosphor-regulators/schema/config_schema.json
+++ b/phosphor-regulators/schema/config_schema.json
@@ -164,16 +164,22 @@
 
                 "keyword": {"$ref": "#/definitions/keyword" },
 
-                "value": {"$ref": "#/definitions/string_value" }
+                "value": {"$ref": "#/definitions/string_value" },
+
+                "byte_values": {"$ref": "#/definitions/bytes_values" }
             },
-            "required": ["fru", "keyword", "value"],
+            "required": ["fru", "keyword"],
+            "oneOf": [
+                {"required": ["value"]},
+                {"required": ["byte_values"]}
+            ],
             "additionalProperties": false
         },
 
         "keyword":
         {
             "type": "string",
-            "enum": ["CCIN", "Manufacturer", "Model", "PartNumber"]
+            "enum": ["CCIN", "Manufacturer", "Model", "PartNumber", "HW"]
         },
 
         "string_value":