shill: Move Metrics from singleton to Shill daemon

While implementing chromium-os:24810, it was discovered that Metrics is
cleaner if it is passed around like ControlInterface, Dispatcher,
Manager, etc.  This approach also makes Metrics more testable.

BUG=chromium-os:24810
TEST=Unit tests, network_WiFiManager suite

Change-Id: I556a1bd11f21f0b93ecfeaae8855dfb99ed5e5f9
Reviewed-on: https://gerrit.chromium.org/gerrit/14099
Commit-Ready: Thieu Le <thieule@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
diff --git a/cellular.h b/cellular.h
index 6ad9af5..42ba42a 100644
--- a/cellular.h
+++ b/cellular.h
@@ -97,6 +97,7 @@
   // "/org/chromium/ModemManager/Gobi/0").
   Cellular(ControlInterface *control_interface,
            EventDispatcher *dispatcher,
+           Metrics *metrics,
            Manager *manager,
            const std::string &link_name,
            const std::string &address,