origin_head: Do not fetch complete snapshots for non-FTP visits
Some snapshots are really large. Rather than fetching them entirely only to discard most of the branches, this commit only fetches some branches (to check existence + to use less queries on small snapshots), then requests specific branches as needed (usually only 2).
This should improve performance and reduce timeout exceptions from the storage.
Migrated from D8861 (view on Phabricator)