replace Course with CourseSelection in server-side Activity object

This reflects the fact that we are using CourseSelection objects
rather than Course objects in the client-side session to
represent the course (and optionally, the module within that course).

This change allows client activities to be restored properly
based on the Activity in the server-side session.