Previously, the on_post_hole_entered notifs to hole followers would
contain the username of the admin who moved the post (due to
referencing the `v` parameter of whomever performed the action which
placed the post in the hole). This has been corrected to use the post
author instead. Further, on_post_hole_entered only depends on a post
for behavior, though the optional `v` user is used if present.
Fixes bug where admins moving a post into a hole doesn't notify
followers of the destination hole.
Also, we now have a route endpoint for reholing that is potentially
usable for e.g. an actual post_actions button to rehole, rather than
the report command UI at present.
Prior to this comment, the every-1d cron.py command was broken due
to lack of proper stats import. However, while refactoring this, it
was convenient to move other recurring tasks that had been stuffed in
odd places--not least `stats(...)`--into the new cron system. This
entailed a number of refactorings of other things.
1. Move stats(...) from static.py to helpers/stats.py.
2. Move hole inactivity purge task from stats(...) to routes/subs.py.
3. Move bot award timer checks from stats(...) to helpers/awards.py.
4. Unify award timer logic formerly in routes/front.py into the new
helpers/awards.py.