Reland: sync_integration_tests: don't instantiate ScopedFeatureList in test body

This is a reland of https://crrev.com/c/1402799. The original CL was
reverted for supposedly introducing flakiness, but in fact in only
renamed an already-flaky test. That test has since been disabled, so
trying again.

Creating a ScopedFeatureList instance in the test body creates a data
race related to the global FeatureList instance: The ScopedFeatureList
overrides the global instance, and then it gets reset after the test
body; however, the feature list might still be queried from the Sync
thread after that.

This CL avoids the issue by instead creating test (sub)classes to hold
the ScopedFeatureLists.

Bug: 915219
Change-Id: Iaa6185d0dd9a042a9275100e3b1cae1eceb52633
Reviewed-on: https://chromium-review.googlesource.com/c/1402890
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621523}
5 files changed