sync: Init backend without UI thread task

Remove the part of sync backend initialize flow that posts a task to the
UI thread.  The only part of this task that could not easily be moved on
to the sync thread or defered for later was the setting of the
initialization_state_ flag.  However, as of r224014 that flag is no
longer useful, so the refactoring can proceed.

Replace the initialization_state_ variable with a bool.  The code no
longer requires a set of enum values to represent the backend's
initialization state.

This change broke the TestProfileSyncService pretty badly.  That test
class was fixed by moving around some code in order to allow us to
inject testable hooks into SyncManager.

BUG=295806

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

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