Tighten up aggregation of npatrons/receipts; #1667

This addresses several issues. First of all, we had been aggregating
based on date, which is safe in production (for now?), but makes testing
much more difficult. Now we aggregate based on the actual timestamps of
the paydays in question. We do so in a way that isn't too taxing on the
db. The transfers query takes about 50ms for my user from a recent
backup. This fixes a bug where a user who received tips for a few weeks
and then had a week where they didn't get any tips would ... I don't
know, but it was a bug. We now have a test for that case, as well as the
case where a transfer happens in between paydays.