mercurial: Build snapshot on visits
If an uneventful visit happens, then an empty snapshot should happen. When filtering revisions for speed, still the heads should appear in the snapshot.
Related to #3571 (closed)
Test Plan
tox
Migrated from D6268 (view on Phabricator)