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/http_proxy_unittest.cc b/http_proxy_unittest.cc
index ae4cd75..6fba3f7 100644
--- a/http_proxy_unittest.cc
+++ b/http_proxy_unittest.cc
@@ -98,6 +98,7 @@
         device_info_(new NiceMock<MockDeviceInfo>(
             &control_,
             reinterpret_cast<EventDispatcher*>(NULL),
+            reinterpret_cast<Metrics*>(NULL),
             reinterpret_cast<Manager*>(NULL))),
         connection_(new StrictMock<MockConnection>(device_info_.get())),
         proxy_(connection_) { }