only do addCallback on restore defer if it has not yet been called (makes it possible to yield on the restore defer, which we need in order to prevent concurrency issues)
have backend provider test setup wait for schedule restore before doing any tests so we avoid concurrency issues
fix reserve criteria in timeout reserve test so we don't reserve with start time in the past
fix schedule restore and always remove reservation on endtime, should fix issues with reservations not being restored