Reporting: Wrap context in service.

Reporting is a spec for delivering out-of-band reports from various
other parts of the browser. See http://wicg.github.io/reporting/ for
the spec, or https://goo.gl/pygX5I for details of the planned
implementation in Chromium.

This wraps the context in a service that keeps the implementation
details of Reporting private while implementing and exposing the
high-level operations that other components require from it.

BUG=704259

Review-Url: https://codereview.chromium.org/2770443002
Cr-Commit-Position: refs/heads/master@{#462943}
diff --git a/net/BUILD.gn b/net/BUILD.gn
index ab6d8e64..29528af 100644
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1415,6 +1415,8 @@
       "reporting/reporting_policy.h",
       "reporting/reporting_report.cc",
       "reporting/reporting_report.h",
+      "reporting/reporting_service.cc",
+      "reporting/reporting_service.h",
       "reporting/reporting_uploader.cc",
       "reporting/reporting_uploader.h",
       "sdch/sdch_owner.cc",
@@ -4634,6 +4636,7 @@
     "reporting/reporting_delivery_agent_unittest.cc",
     "reporting/reporting_endpoint_manager_unittest.cc",
     "reporting/reporting_header_parser_unittest.cc",
+    "reporting/reporting_service_unittest.cc",
     "reporting/reporting_test_util.cc",
     "reporting/reporting_test_util.h",
     "reporting/reporting_uploader_unittest.cc",