Clean up TestProfileSyncService and related tests

This CL refactors many of the tests in profile_sync_service_unittest.cc.
It continues the refactoring work begun in r233533, r235661, and
r235854.

The JsController tests have been deleted.  There is not much point in
testing the JsController here; it can be more easily tested on its own
in sync_js_controller_uniittest.cc.  The SyncJsController unit tests
have been updated so they now cover the few cases that were formerly
only exercised in the ProfileSyncService unit tests.

It converts all remaining uncoverted tests from relying on the
TestProfileSyncService to using a real ProfileSyncService with an
injected backend.  The injected backend makes it easier to create the
scenarios we want to test.  We can inject a specially crafted SBH rather
than fiddling with "synchronous init" and "fail initial download" flags.

Since the TestProfileSyncService no longer needs to support the wide
variety of test scenarios required by the tests in
profile_sync_service_unittest.cc, we can greatly simplify its
implementation.  Many of its parameters and associated code have been
removed.

BUG=140354,312994

Review URL: https://codereview.chromium.org/67683005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238348 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 238348