buffet: Add command definition support for GCD command manager

Rudimentary framework of classes to represent GCD command manager
and list of registered device command definitions/schemas.

BUG=chromium:374861
TEST=USE=buffet P2_TEST_FILTER="buffet::*" FEATURES=test emerge-link platform

Change-Id: I3cd3d776879e8bd506aecd20df5cd89c65247d35
Reviewed-on: https://chromium-review.googlesource.com/208464
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/commands/schema_constants.cc b/buffet/commands/schema_constants.cc
index d8ec689..6504c5d 100644
--- a/buffet/commands/schema_constants.cc
+++ b/buffet/commands/schema_constants.cc
@@ -20,6 +20,7 @@
 const char kPropertyMissing[] = "parameter_missing";
 const char kUnknownProperty[] = "unexpected_parameter";
 const char kInvalidObjectSchema[] = "invalid_object_schema";
+const char kDuplicateCommandDef[] = "duplicate_command_definition";
 }  // namespace errors
 
 namespace attributes {
@@ -37,6 +38,8 @@
 const char kOneOf_MetaSchema[] = "schema";
 
 const char kObject_Properties[] = "properties";
+
+const char kCommand_Parameters[] = "parameters";
 }  // namespace attributes
 
 }  // namespace commands