Challenge specifications:
 - game-specific challenges can be created, viewed, and removed  on game page
 - email notifications for challenge (when configured, see README.md)
 - adding results resolves applicable challenges
 - challenges expire, resulting in a win for the challenger
 - one challenge per challenger per game
 - game.as_json includes active challenges
Merge branch 'challenges'