snapshot_add(origin, visit, snap) becomes snapshot_add(snap) +
origin_visit_update(origin, visit, snapshot_id=snap['id'])
Also, all arguments of origin_visit_update become optional; ie. the old value in the DB remains if their value is None. (Side-effect: you can't erase a value unless you provide a new non-None value.)
I added a temporary compatibility layer, so the API change can go painlessly
by updating the clients after the server is deployed.