use temporary tables instead of making lots of expensive queries
replace `get_tips_and_total()` and `get_takes()`
remove unused arguments
factor record_charge and record_credit
remove monkey-patching
rename argument
move exceptions from withdraw_balance_to_bank_account to ach_credit
use the same exceptions in charge()
create new module gittip.billing.exchanges
update and move tests
update test fixtures
modify Payday.start() to be a class method
update tests
move constructor to the top
implement creating and capturing a card hold
modify DB self checks to work on cursors
we want to be able to run that check during payday
update comments
add a `stage` column to the `paydays` table
rewrite the payin loop in SQL

fixes #1486