callback with protocol.CommitMatch
Created by: camdencheek
This converts the callback of CommitSearcher.Search() to call back with a protocol.CommitMatch. This is to help keep the API of the package small by avoiding exposing types used internally that are difficult to use correctly from outside the package. Additionally, it fixes an issue where where DiffFetcher would be used after it's already been stopped.
Stacked on #25613