Remove associated user_schedule_items when removing user_course

I noticed that when we remove a `UserCourse` from the course history we don't remove the associated `UserScheduleItem`s from the calendar. This PR addresses that. There's two reasons why I think doing this is a good idea:
- Consistency between the course history and calendar views.
- Privacy concerns. When a user removes a course from their course history, it might be because he doesn't want other people to know he's taking the course. However, others could still find that he's taking the course by looking at the calendar.

We might also want to fix this for existing inconsistencies. However, I don't think it's a big issue unless we get complaints about it. Still, I've filed issue #195 to track it.

### Testing ###

- Tested removing a user course before this PR and checked the course shows in the calendar
- Tested removing a user course after this PR and checked the course doesn't show in the calendar
There's a UserScheduleItem for each time slot. So for a single UserCourse there will be many UserScheduleItems. Hence we don't use `first()` here (unless I'm misunderstanding your question).

And yep, `delete()` removes all the matched elements.