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

... from feature/tracks_activation
@kyfantaz I think what I was getting at is that the Track model, or perhaps the join model, could have it's own state and that you'd be persisting whether the tracks were finalized based on having all Tracks in the course in that state?  Maybe that's a reach, but it could be helpful if, say, you wanted to prevent admins from editing a Stage (and it's urls) after it's been put in a "finalized" state.  In any case, I tend to lean on the side of not adding data structures in anticipation of potential needs down the road, but I can see how this way could be more convenient at this point.