Support network service in headless

- extract all URLRequestContextGettter and NetworkContext creation logic into HeadlessRequestContextManager;
- reconcile network service and non-network service code paths as much as possible;
- fix a couple of issues with handling of redirect URLs in DevToolsURLLoaderInterceptor that
    were different from URLRequestJob-based interception and caused headless tests to fail;
- plumb a call to NetworkServiceTestHelper::RegisterNetworkBinders() in headless utility
    process when running tests to let network service tests inject the magic client certificates;
- update traffic annotations as they just moved;

Bug: 838291,792676

Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: Ia29143a85b0c0293fae13079ec9f88ff5ba924f9
Reviewed-on: https://chromium-review.googlesource.com/c/1263566
Reviewed-by: Georges Khalil <georgesak@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598893}
18 files changed