CLC-1648 More back-end data for My Academics

JIRA: https://jira.media.berkeley.edu/jira/browse/CLC-1648

This third WIP adds Exams data and fleshes out the Semester schedule. It also refactors to split a big test and make the various proxies a little more consistent.