Ports changes to models and model tests along with some settings changes...

... from feature/tracks_activation
If this is a join table between a Student object that lives in an SIS or LMS and a course, then you might consider changing the name of the model to be `StudentCourse` or `CourseStudent`.  Also, it seems like this data has a good chance of getting out of sync with the actual course enrollment that is being stored in the SIS or Canvas, depending upon when it's created - have you discussed keeping it in sync with a chron task or something similar?