Refactor the fix for duplicate pachinko transfers

 - Add a for_payday parameter to get_current_takes, on the pattern of
   Participant.get_tips_and_total. I believe this adequately reproduces
   the semantics of the inline takes query currently on the fix-payday
   branch.

 - Teach genparticipants about the different loops, harmonizing the
   semantics of that generator in the various loop cases. Now it knits
   in different extra info based on the loop: tips and total for
   payin/payout, takes for pachinko.

My goal here is to provide a consistent implementation of the several
payday loops.
fix genparticipants()
fix get_current_takes()
fix test_pachinko_pachinkos()
Rename get_current_takes to get_takes

Now that get_takes takes a for_payday its no longer necessarily
*current* takes. Calling it get_takes harmonizes better with
get_tips_and_total.
Clean up comments in genparticipants

It's no longer true (if it ever was) that we see new tips and takes when
rerunning payday after a crash.
Add some more tests for pachinko
Refactor get_takes a bit

Simplify SQL construction.
Merge pull request #2397 from gittip/refactor-fix-payday

refactor the fix for duplicate pachinko transfers