[Sync] Rework unit tests for ChromeInvalidationClient

In particular, add unit tests that would have caught bug 139424.

Dep-inject InvalidationClient into ChromeInvalidationClient.

Use the function name 'UpdateRegisteredIds' consistently.

Replace some mocks with fakes.

BUG=139424


Review URL: https://chromiumcodereview.appspot.com/10827133

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150665 0039d316-1c4b-4281-b951-d872f2087c98
 void ChromeInvalidationClient::Stop() {
   DCHECK(CalledOnValidThread());
   if (!invalidation_client_.get()) {
    return;
  }

  registration_manager_.reset();
  chrome_system_resources_.Stop();
  invalidation_client_->Stop();

  invalidation_client_.reset();
  listener_ = NULL;

  invalidation_state_tracker_.Reset();
  max_invalidation_versions_.clear();
  ticl_state_ = DEFAULT_NOTIFICATION_ERROR;
  push_client_state_ = DEFAULT_NOTIFICATION_ERROR;
}

 void ChromeInvalidationClient::Stop() {
   DCHECK(CalledOnValidThread());
   if (!invalidation_client_.get()) {
    return;
  }

  registration_manager_.reset();
  chrome_system_resources_.Stop();
  invalidation_client_->Stop();

  invalidation_client_.reset();
  listener_ = NULL;

  invalidation_state_tracker_.Reset();
  max_invalidation_versions_.clear();
  ticl_state_ = DEFAULT_NOTIFICATION_ERROR;
  push_client_state_ = DEFAULT_NOTIFICATION_ERROR;
}
