shill: cellular: Consolidate singletons passed through constructors

The following are singletons that were stored individually by many
classes, passed down constructors as the objects were created. Move
singletons to ModemInfo, and pass only a ModemInfo object down.
Singletons: ControlInterface, EventDispatcher, Metrics, Manager, GLib,
ActivatingIccidStore, CellularOperatorInfo, and mobile_provider_db.
Classes who stored all these singletons: ModemInfo, Cellular,
ModemManager (and flavours), Modem (and flavours), CellularCpability
(and flavours).

BUG=chromium:222543
TEST=(1) Build and run unit tests. (2) Test on device that LTE
activation and cellular functionality related to refactored singletons
still works. (3) Run autotest: network_3GSmokeTest.

Change-Id: I0c2866e0cd0bab63e3c3078ff73361322a8f509b
Reviewed-on: https://gerrit.chromium.org/gerrit/46485
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/mock_cellular.cc b/mock_cellular.cc
index 7bad965..c5a4394 100644
--- a/mock_cellular.cc
+++ b/mock_cellular.cc
@@ -13,10 +13,7 @@
 // TODO(rochberg): The cellular constructor does work.  Ought to fix
 // this so that we don't depend on passing real values in for Type.
 
-MockCellular::MockCellular(ControlInterface *control_interface,
-                           EventDispatcher *dispatcher,
-                           Metrics *metrics,
-                           Manager *manager,
+MockCellular::MockCellular(ModemInfo *modem_info,
                            const std::string &link_name,
                            const std::string &address,
                            int interface_index,
@@ -24,14 +21,9 @@
                            const std::string &owner,
                            const std::string &service,
                            const std::string &path,
-                           ActivatingIccidStore *activating_iccid_store,
-                           CellularOperatorInfo *cellular_operator_info,
-                           mobile_provider_db *provider_db,
                            ProxyFactory *proxy_factory)
-    : Cellular(control_interface, dispatcher, metrics, manager, link_name,
-               address, interface_index, type, owner, service, path,
-               activating_iccid_store, cellular_operator_info, provider_db,
-               proxy_factory) {}
+    : Cellular(modem_info, link_name, address, interface_index, type, owner,
+               service, path, proxy_factory) {}
 
 MockCellular::~MockCellular() {}