shill: metrics: Collect termination action statistics

When shill terminates, it executes a set of termination actions that
were queued while it was running (e.g. a cellular device queues a
disconnection request as an action). This CL adds code to track the
percentage of termination actions that succeed within the given timeout
period for termination.

BUG=chromium-os:31475
TEST=Manually tested changes via chrome://histograms

Change-Id: Id2d5e5fef2a02a2d1e4b6a17c8a1366c9ac6676e
Reviewed-on: https://gerrit.chromium.org/gerrit/33225
Reviewed-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
diff --git a/metrics.cc b/metrics.cc
index 9bc7e9e..f9a010f 100644
--- a/metrics.cc
+++ b/metrics.cc
@@ -82,6 +82,9 @@
 
 const char Metrics::kMetricPortalResult[] = "Network.Shill.%s.PortalResult";
 
+const char Metrics::kMetricTerminationActionResult[] =
+    "Network.Shill.TerminationActionResult";
+
 // static
 const uint16 Metrics::kWiFiBandwidth5MHz = 5;
 const uint16 Metrics::kWiFiBandwidth20MHz = 20;