Clean up bot construction, added commit hook mixin

Refactored some more to take as much boilerplate as possible from
issuebot.tac, added loading issues from cache to prevent noisy bot
re-/launches.