Periodic hook: Calculate relative to the calendar

Previously periods were calculated relative to the last awarding of
periodic points. So if a user was awarded points at 5:00 on Wednesday,
they wouldn’t have been awarded daily points for visiting at 4:00 on
Thursday (they wouldn’t be awarded until after 24 hours, or after
5:00). Now they would.

Fixes #53