github: Fail if search has incomplete results
Created by: keegancsmith
Our new syncer requires a source to return all repositories it is configured to return. A repository not being listed by a source will be deleted by the syncer. So in the case of incomplete results a repository will be soft-deleted (and then likely be undeleted the next sync). Instead we just fail the search if GitHub returns incomplete results.
Alternatively we could implemented logic to gracefully handle this response. Things like retries or a degraded mode for the syncer. For retries the syncer will retry at the next interval anyways. A degraded mode will be more tricky to implement, so is not worth it this close to the branch cut.
Test plan: unit tests
Fixes https://github.com/sourcegraph/sourcegraph/issues/3363
Part of #2025