Display all branches including ambiguous ones and filter snapshots by dataset

When multiple datasets (pools) exist with branches having the same name, the current implementation has several limitations:

  1. GET /branches endpoint only returns the branch with the most recent snapshot, hiding other branches with the same name from different datasets
  2. GET /snapshots endpoint can only filter by branch name, making it ambiguous which dataset's snapshots are being retrieved
  3. Users have no visibility into which dataset a branch belongs to in the UI 2025-10-06