gitserver: use migration cursor to decide which hashing algorithm to use during gitserver address determination
Created by: sashaostrikov
The cursor is a name of last repository which was processed (i.e. migrated to new gitserver instance in most cases) during the process of hashing algorithm change. Any repo with a lexicographically smaller or equal name than cursor is located on a gitserver instance which hostname is resolved using rendezvous hashing.
Closes https://github.com/sourcegraph/sourcegraph/issues/32315
Test plan
Unit tests added