buffet: Rework buffet configuration

Manufacturer supplied fields will come from the buffet configuration
file with good defaults provided by buffet itself.  This includes
a few default values for user supplied fields.

User supplied and other per device instance state will be stored in
a state file as before.

Keeping these fields separate greatly simplifies reasoning about
adding configuration settings to buffet.

BUG=brillo:658
TEST=unittests, tendo_experimental passes
CQ-DEPEND=CL:262292

Change-Id: Ib74721b9c99d11c189042aa78cc43a076072de32
Reviewed-on: https://chromium-review.googlesource.com/262296
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Anton Muhin <antonm@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
diff --git a/buffet/buffet.gyp b/buffet/buffet.gyp
index 51312e5..e67b6ea 100644
--- a/buffet/buffet.gyp
+++ b/buffet/buffet.gyp
@@ -18,6 +18,7 @@
         'dbus_service_config': 'dbus_bindings/dbus-service-config.json',
       },
       'sources': [
+        'buffet_config.cc',
         'commands/command_definition.cc',
         'commands/command_dictionary.cc',
         'commands/command_instance.cc',