privetd: Implement /privet/v3/commandDefs

Buffet exposes D-Bus property CommandDefs.
Privetd reads commands from buffet using D-Bus in CloudDelegate.
Buffet will update property if definitions changed. Still there is no Buffet
codepath which changes commad definitions after loading.

BUG=brillo:426
TEST=unittest

Change-Id: I18dac0f87325257fa31c0fe3e0c883a9ed40e4c7
Reviewed-on: https://chromium-review.googlesource.com/261611
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
index 7ec49a7..8473fe2 100644
--- a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
+++ b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
@@ -61,5 +61,10 @@
         GCD ID if the device is registered or empty otherwise.
       </tp:docstring>
     </property>
+    <property name="CommandDefs" type="s" access="read">
+      <tp:docstring>
+        JSON with command definitions of the devices.
+      </tp:docstring>
+    </property>
   </interface>
 </node>