Make the course list conditionally cacheable

It will be cached only if the user is a regular student, it won't be
cached for teachers and administrators because of the draft courses.