Add components/network_session_configurator.

Factor out IOThread::NetworkSessionConfigurator to
components/network_session_configurator.

Remove duplicate code from IOSChromeIOThread, use
components/network_session_configurator instead.

Move all command line switches required by
components/network_session_configurator to this component.  Note that
currently command line switches are ignored.  To preserve this behavior,
this CL calls network_session_configurator::ParseFieldTrials() from
IOSChromeIOThread, which also ignores command line switches.

Background: IOThread was forked to IOSChromeIOThread as part of an effort to
remove the dependency of //ios on //chrome.  However, field trial and command
line parsing logic is shared.  This CL refactors said logic from IOThread and
from IOSChromeIOThread to //components and removes code duplication.

BUG=586616

Review-Url: https://codereview.chromium.org/1892123003
Cr-Commit-Position: refs/heads/master@{#395540}
56 files changed