Courses API

This is a subset of #6109. The goal here is to trim the code down to exactly what will be needed by Insights and get it merged soon. We will revisit the other APIs soon after so that the edx-solutions fork isn't too divergent.

@mulby @mattdrayer @cpennington @ormsbee @dsjen @smagoun @shnayder @mikigoyal 
I haven't looked at this *too* closely, but at first glance the changes to this file look like a product behavior change.

Is it necessary?
If so, we should probably run it by product since it looks like it could impact new user registrations.