shill: Convert code to use the newest version of libchrome.

The biggest change is a switch from using the deprecated
Task and CallbackN mechanisms to using the new Callback
mechanism.

Note: Original CL was https://gerrit.chromium.org/gerrit/16156.
This is logically another patch to that CL, but since the
latter was already merged, and is considered closed by
Gerrit, it's necessary to create a new CL.

BUG=chromium-os:15330
TEST=Build shill and run it on a zgb with a modem. Build and
run unit tests.
CQ-DEPEND=I37628863370323d30cac493764ea28f8ffd42637

Change-Id: I3ae78a3aa44ec167b79f2170d07650ece888254f
Reviewed-on: https://gerrit.chromium.org/gerrit/18030
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Eric Shienbrood <ers@chromium.org>
diff --git a/cellular_capability.h b/cellular_capability.h
index 0b9a3af..fd1cb58 100644
--- a/cellular_capability.h
+++ b/cellular_capability.h
@@ -6,10 +6,11 @@
 #define SHILL_CELLULAR_CAPABILITY_
 
 #include <string>
+#include <vector>
 
 #include <base/basictypes.h>
+#include <base/callback.h>
 #include <base/memory/scoped_ptr.h>
-#include <base/memory/scoped_vector.h>
 #include <gtest/gtest_prod.h>  // for FRIEND_TEST
 
 #include "shill/async_call_handler.h"
@@ -17,8 +18,6 @@
 #include "shill/modem_proxy_interface.h"
 #include "shill/modem_simple_proxy_interface.h"
 
-class Task;
-
 namespace shill {
 
 class Cellular;
@@ -145,12 +144,12 @@
     // Override the non-error case
     virtual bool CompleteOperation();
 
-    void AddTask(Task *task);
+    void AddTask(const base::Closure &task);
     void PostNextTask();
 
    private:
     EventDispatcher *dispatcher_;
-    ScopedVector<Task> tasks_;
+    std::vector<base::Closure> tasks_;
 
     DISALLOW_COPY_AND_ASSIGN(MultiStepAsyncCallHandler);
   };