libchromeos: Move http_utils from Buffet to libchromeos

http_utils have dependency on libcurl, so not to add this
dependency onto libchromeos-core, created a new sub-library,
libchromeos-http where all http_utils production code goes.

There are some fake classes used for testing purposes,
so added them to a new static library, libchromeos-test-271506.a
and created a separate package for it, so that other
components can link to this test library when then needed,
independently from the rest of libchromeos.

BUG=chromium:405714
TEST=USE=buffet ./build_packages
CQ-DEPEND=CL:213562

Change-Id: I37fab53fd5ccfc824b62555869e7581f99aca41c
Reviewed-on: https://chromium-review.googlesource.com/213366
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/device_registration_info.h b/buffet/device_registration_info.h
index 1f7d1fb..dc58eda 100644
--- a/buffet/device_registration_info.h
+++ b/buffet/device_registration_info.h
@@ -14,8 +14,8 @@
 #include <base/time/time.h>
 #include <chromeos/data_encoding.h>
 #include <chromeos/error.h>
+#include <chromeos/http_transport.h>
 
-#include "buffet/http_transport.h"
 #include "buffet/storage_interface.h"
 
 namespace base {
@@ -41,9 +41,10 @@
       const std::shared_ptr<CommandManager>& command_manager);
   // This constructor allows to pass in a custom HTTP transport
   // (mainly for testing).
-  DeviceRegistrationInfo(const std::shared_ptr<CommandManager>& command_manager,
-                         const std::shared_ptr<http::Transport>& transport,
-                         const std::shared_ptr<StorageInterface>& storage);
+  DeviceRegistrationInfo(
+      const std::shared_ptr<CommandManager>& command_manager,
+      const std::shared_ptr<chromeos::http::Transport>& transport,
+      const std::shared_ptr<StorageInterface>& storage);
 
   // Returns the authorization HTTP header that can be used to talk
   // to GCD server for authenticated device communication.
@@ -138,7 +139,7 @@
   std::string display_name_ = "Coffee Pot";
 
   // HTTP transport used for communications.
-  std::shared_ptr<http::Transport> transport_;
+  std::shared_ptr<chromeos::http::Transport> transport_;
   // Serialization interface to save and load device registration info.
   std::shared_ptr<StorageInterface> storage_;
   // Global command manager.