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/service_unittest.cc b/service_unittest.cc
index 634113d..eb0c9b6 100644
--- a/service_unittest.cc
+++ b/service_unittest.cc
@@ -41,9 +41,10 @@
 class ServiceTest : public PropertyStoreTest {
  public:
   ServiceTest()
-      : mock_manager_(control_interface(), dispatcher(), glib()),
+      : mock_manager_(control_interface(), dispatcher(), metrics(), glib()),
         service_(new ServiceUnderTest(control_interface(),
                                       dispatcher(),
+                                      metrics(),
                                       &mock_manager_)),
         storage_id_(ServiceUnderTest::kStorageId) {
   }