shill: Change ownership of activating_iccidstore

Response to a bug report that a file created during the construction of
activating_iccid_store object is left behind after some unit-tests.
activating_iccid_store was owned by Cellular. Move it higher in the
hierarchy to ModemInfo. This change causes the activating_iccid_store
object to appear as an argument in constructor arguments for some more
classes. The unit-tests for these classes no longer create the
activating_iccid_store object, which means that the associated
persistent file is not created.

Fix unit-tests for this change.
(1) Add extra constructor argument to some mocks to match the changed
classes
(2) mock activating_iccid_store in unit tests in
cellular_capability_universal_unittest that used the actual object
earlier.
(3) activating_iccid_store_unittest.cc : Create temporary directory for
the persistent file and delete it after the test.

BUG=chromium:221397
TEST=Fixed unit-tests for the refactoring pass. Persistent file is
not longer left behind by tests. 4GLTE activation works.

Change-Id: I36876117cbc144c4405846e9604cdb3b35d296dc
Reviewed-on: https://gerrit.chromium.org/gerrit/45786
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/modem_manager.h b/modem_manager.h
index 89f6b40..15931c9 100644
--- a/modem_manager.h
+++ b/modem_manager.h
@@ -23,6 +23,7 @@
 
 namespace shill {
 
+class ActivatingIccidStore;
 class CellularOperatorInfo;
 class ControlInterface;
 class DBusObjectManagerProxyInterface;
@@ -46,7 +47,8 @@
                Metrics *metrics,
                Manager *manager,
                GLib *glib,
-               CellularOperatorInfo *cellular_operator_info_,
+               ActivatingIccidStore *activating_iccid_store,
+               CellularOperatorInfo *cellular_operator_info,
                mobile_provider_db *provider_db);
   virtual ~ModemManager();
 
@@ -70,6 +72,9 @@
   const std::string &service() const { return service_; }
   const std::string &path() const { return path_; }
   ProxyFactory *proxy_factory() const { return proxy_factory_; }
+  ActivatingIccidStore *activating_iccid_store() const {
+    return activating_iccid_store_;
+  }
   CellularOperatorInfo *cellular_operator_info() const {
     return cellular_operator_info_;
   }
@@ -130,6 +135,7 @@
   Metrics *metrics_;
   Manager *manager_;
   GLib *glib_;
+  ActivatingIccidStore *activating_iccid_store_;
   CellularOperatorInfo *cellular_operator_info_;
   mobile_provider_db *provider_db_;
 
@@ -145,6 +151,7 @@
                       Metrics *metrics,
                       Manager *manager,
                       GLib *glib,
+                      ActivatingIccidStore *activating_iccid_store,
                       CellularOperatorInfo *cellular_operator_info,
                       mobile_provider_db *provider_db);
 
@@ -179,6 +186,7 @@
                 Metrics *metrics,
                 Manager *manager,
                 GLib *glib,
+                ActivatingIccidStore *activating_iccid_store,
                 CellularOperatorInfo *cellular_operator_info,
                 mobile_provider_db *provider_db);