Challenges

I've rebased this on master and added a few small fixes such as not showing game delete button when challenges exist).  The core functionality is stable and I don't think my co-workers could live without it anymore.

There is a sample site here: http://elovation-challenges.herokuapp.com/

I would like to write some other features which will also involve migrations.  Should I base them off master or off this branch?

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