[CLC-2098] Fixing classes/courses logic in the backend, simplifying front-end widget logic

JIRA: https://jira.media.berkeley.edu/jira/browse/CLC-2098

As promised, the follow-up pull to clean up the front-end munging logic after I had gotten Jon's blessing on how the the data should show in the widgets.