github: Extract SearchClient
Created by: ryanslade
We now expose both Client and SearchClient. They are simple wrappers aroud the old Client struct which has been renamed 'client'.
This allows us to restrict calls made on SearchClient and prepares us to have separate rate limiters per client as GitHub uses different rate limits for search API calls.
Part of: https://github.com/sourcegraph/sourcegraph/issues/8546