libchromeos: Move Dictionary class into its own header file

Moved chromeos::dbus_utils::Dictionary type alias into its
own header file (chromeos/dictionary.h) and promoting it to the
top level namespace (chromeos).

So now it becomes chromeos::VariantDictionary and it is now
independent from D-Bus data serialization.

BUG=None
TEST=FEATURE=test emerge-link libchromeos buffet

Change-Id: Ibad63fd4168d77b9a4b80c7800016510f87ae33d
Reviewed-on: https://chromium-review.googlesource.com/219413
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/buffet_client.cc b/buffet/buffet_client.cc
index 63ba2cc..635c037 100644
--- a/buffet/buffet_client.cc
+++ b/buffet/buffet_client.cc
@@ -16,6 +16,7 @@
 #include <chromeos/dbus/data_serialization.h>
 #include <chromeos/dbus/dbus_method_invoker.h>
 #include <chromeos/errors/error.h>
+#include <chromeos/variant_dictionary.h>
 #include <dbus/bus.h>
 #include <dbus/message.h>
 #include <dbus/object_proxy.h>
@@ -28,8 +29,8 @@
 
 using chromeos::dbus_utils::CallMethodAndBlock;
 using chromeos::dbus_utils::CallMethodAndBlockWithTimeout;
-using chromeos::dbus_utils::Dictionary;
 using chromeos::dbus_utils::ExtractMethodCallResults;
+using chromeos::VariantDictionary;
 using chromeos::ErrorPtr;
 
 namespace {
@@ -147,7 +148,7 @@
       return EX_USAGE;
     }
 
-    Dictionary params;
+    VariantDictionary params;
     if (!args.empty()) {
       auto key_values = chromeos::data_encoding::WebParamsDecode(args.front());
       for (const auto& pair : key_values) {
@@ -214,7 +215,7 @@
     }
 
     ErrorPtr error;
-    Dictionary property_set{{args.front(), args.back()}};
+    VariantDictionary property_set{{args.front(), args.back()}};
     auto response = CallMethodAndBlock(
         manager_proxy_,
         kManagerInterface, kManagerUpdateStateMethod, &error,