update uses of set_tip_to() to give Participant instead of username
optimize clear_tips_{giving,receiving}