[To review] Add support for competitions

You'll need to run `manage.py recalculate` after the migrations to get all the historical scores back.