Implement structure for season-specific code
This commit introduces a code structure that will allow us to have per-season score file in a well-defined location. It also removes some of the scoring code from the models file for cleaner separation of concerns.
Next steps will be to dispatch inteligently between season-specific calculations based on the user's request.
In addition, some auxiliary things are changed:
- Seasons are defined in their own module so that they can be imported from anywhere (having them in settings caused issues)
- Cache functions can now take any number of arguments.