update_engine: Replace googe::protobuf::Closure with base::Closure

In order to clean up libchromeos, remove chromeos/callback.h and
switch update_engine from using
googe::protobuf::Closure/NewPermanentCallback to base::Closure/Bind

BUG=chromium:406060
TEST=FEATURES=test emerge-link update_engine

Change-Id: I02d222c3f6c9a5bf5177d58e3a25a596348619bf
Reviewed-on: https://chromium-review.googlesource.com/213675
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/http_fetcher.h b/http_fetcher.h
index fa26133..bab19d9 100644
--- a/http_fetcher.h
+++ b/http_fetcher.h
@@ -10,9 +10,9 @@
 #include <vector>
 
 #include <base/basictypes.h>
+#include <base/callback.h>
 #include <base/logging.h>
 #include <glib.h>
-#include <google/protobuf/stubs/common.h>
 
 #include "update_engine/http_common.h"
 #include "update_engine/proxy_resolver.h"
@@ -59,8 +59,7 @@
 
   // Proxy methods to set the proxies, then to pop them off.
   // Returns true on success.
-  bool ResolveProxiesForUrl(const std::string& url,
-                            google::protobuf::Closure* callback);
+  bool ResolveProxiesForUrl(const std::string& url, base::Closure* callback);
 
   void SetProxies(const std::deque<std::string>& proxies) {
     proxies_ = proxies;
@@ -150,7 +149,7 @@
   guint no_resolver_idle_id_;
 
   // Callback for when we are resolving proxies
-  google::protobuf::Closure* callback_;
+  base::Closure* callback_;
 
   // Global system context.
   SystemState* system_state_;