Buffet: Phase 1 of GCD device registration workflow

Implemented the basic device registration workflow in buffet daemon.

Updated buffet_client to perform/test device registration:

Check for device registration:
  buffet_client cr

Getting registered device information:
  buffet_client di

Begin registration (with all default values):
  buffet_client sr

Begin registration with custom parameters:
  buffet_client sr "service_url=http://localhost/buffet&device_kind=coffeePot"

Finalize registration:
  buffet_client fr 4/FsXprlpVsmPw6z7ro7aqU156Eh6V.0ktCYeVc3DwYEnp6UAPFm0GAey3PigI

BUG=chromium:363348
TEST=unit tests passed.

Change-Id: Id8a90b66fbdc366eaa9f62caa82a7cb0abc2e638
Reviewed-on: https://chromium-review.googlesource.com/195082
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/buffet.conf b/buffet/buffet.conf
index 7c3ee8c..66cd9ed 100644
--- a/buffet/buffet.conf
+++ b/buffet/buffet.conf
@@ -9,4 +9,8 @@
 stop on stopping system-services
 respawn
 
+pre-start script
+  mkdir -p /var/lib/buffet
+end script
+
 exec buffet