Move logic onto ScheduledActivity #3897

There was some business logic on the PatientStudyCalendar class
asking if the ScheduledActivity was able to be cancelled. This commit
moves that logic onto the ScheduledActivity as it is the thing that
knows whether or not it can be cancelled.