The functions `CourseOverview.get_from_id_if_exists` and `CourseOverview.get_from_ids if exists` are bug- prone, in that they do not go to the modulestore when a CourseOverview is out-of-date or uncached. The docstrings spell this out, but callers seem not to understand the implications. So, in this commit, we: * Remove both functions * Add `CourseOverview.get_from_ids` for almost-as-fast yet safer bulk-fetching of overviews * Update call sites to use `course_exists` or `get_from_ids` in place of the old functions. * Add tests for @verify_course_exists. This PR should specifically fix an issue where the program_enrollments API was breaking when the CourseOverview version was bumped. CR-1708
LMS (Learning Management System) -------------------------------- This directory contains code relating to the student portal for edX.