Recent enhancements and changes from the OU.

1. Ensure that all dates for all activities are settable.

2. For large courses, show one activity type at a time.

3. General code tidy-up.