Create feature list before browser main loop starts. [3/3]

This CL originally comes from ran@'s CL(https://crrev.com/c/1102826).
It follows up CLs: https://crrev.com/c/1148959 and
https://crrev.com/c/1213308.

In this CL, we create the local_state in ChromeFetureListCreator, and its
ownership is passed to the BrowerProcessImpl when the full browser starts.
Classes required to create FeatureList and setup FieldTrial, e.g.
VariationsService, MetricsServicesManager etc., are also created in the
ChromeFeatureListCreator and the ownerships are passed to the
BrowserProcessImpl when it is instantiated.

For ChromeOS, we move the initialization of the DBus to
ChromeFeatureListCreator as well before creating the
BrowserPolicyConnectorChromeOS. The BrowserPolicyConnector is required to
create the PolicyService when creating local_state.
internal::PreEarlyInitDBus is moved to a helper file with two static
functions.

Bug: 848615, 729596
Change-Id: I93a31879e566b14eb01b4e63a4ad8786cc7e16da
Reviewed-on: https://chromium-review.googlesource.com/c/1173163
Commit-Queue: Xi Han <hanxi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596671}
22 files changed