Clear claimed_time during archive

The take_over code didn't clear claimed_time during archive, but it
should have. See #2472. The final-gift.py script *did* clear
claimed_time, and our archive method now does the same. The branch.sql
here clears out claimed_time for old archived participants (see #2472
for discussion); it needn't be appended to schema.sql since it modifies
data and not schema.
Log an event when archiving
Add cursor parameter to distributed_..._gift

The cancel method wants to use a single cursor for all of its submethods
so we do cancelation in a single transaction.
Implement Participant.cancel method

Delegates to work methods, surfaced one integration bug.
Merge pull request #2473 from gittip/cancel-method

cancel method