Issue title: Handle existing schedule when changing the competition's date
 Issue body: Currently if you do the following:
  - create a competition on day X
  - create a schedule for this competition
  - change the competition's day to Y

Then any change to the schedule in an existing room will be rejected because the activities for day X still exist, and we validate that all activities should be included in the competition's timeframe.

The easy and manual fix is to remove the rooms which have activities (which will consequently delete these activities), and recreate them.

Possible better automatic fix:
  - when the competition's dates change, delete all activities that are not in the timeframe
  - when the competition's dates change from start_date X to start_date Y, add Y-X days to all activities dates

Combining both would give a reasonable behavior: if you don't shrink the number of days of your competition, the schedule you originally created will be correctly moved to your new competition's date.
If you shrink the number of days (eg: from 3 to 2), 2 days of the original schedule will be kept and moved, whereas activities on the third will be removed.

 Comments: 
 Comment 0: A similar issue to this That I noticed is that if you remove an event, it will still be displayed on the schedule. You are still able to manipulate the schedule and save it, but the event is there until you delete it.
 Comment 1: Can we store the relative day instead of the absolute date? For example, store 1 for first day. Whenever the competition date is changed, we don't need to update the date of schedule.
 Comment 2: > Can we store the relative day instead of the absolute date?

I fought for this when we were defining the schedule WCIF, but @viroulep and @timreyn convinced me otherwise =)
{'source': 'GithubIssues', 'repo_name_with_owner': 'thewca/worldcubeassociation.org', 'issue_id': 357536819, 'repo_stars': 241.0}