Semester and Announcement models added

Also changed `Course` to use the new mixins