`snapshot_add(origin, visit, snap)` becomes `snapshot_add(origin)` +
`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.