Rewrite snapshot_get in terms of snapshot_get_branches
This increases uniformity and reduces code duplication between the two functions. The addition of the 'next_branch' return value in snapshot_get_branches allows callers to get branches incrementally in a loop which is friendlier.
Depends on !100 (closed)
Test Plan
tests have been updated to add the new next_branch field
Migrated from D546 (view on Phabricator)