Unify invalid credential handling across event/contact syncs.

Summary:
One of the reasons our error count is so high is that we try to sync contacts
for invalid accounts every five minutes and log a bunch of errors. To be
consistent with events sync, simply exit the sync loop in such cases.

Test Plan: Unit test added.

Reviewers: charles

Reviewed By: charles

Differential Revision: https://review.inboxapp.com/D588