cache giving, pledging and receiving amounts in the participants table
remove Participant.get_dollars_* functions
small refactoring
rewrite queries to use the cached amounts
fix bad uses of set_attributes()
don't query the DB when we already have the Participant
add a few tests