Add a function to retrieve a full snapshot
This function wraps the paginating branch listing API to do its work. It's in swh.storage.algos because it should be done client-side rather than server-side.
The tests are fairly simple, and mostly add a bunch of tooling around hypothesis to generate data that conforms to the swh data schema. Those things could probably be adequately moved to a new submodule of swh.model.
Test Plan
new tests added
Migrated from D551 (view on Phabricator)