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
Can you also assert that we haven't deleted anything else? Just get the count of `UserScheduleItems` before the deletion, make sure it is > 38, and make sure that after deletion it is exactly 38 less.