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 
What if we break the API into smaller parts. This is the course content API for example. The combinations of all the smaller APIs make the edX API. I think it helps in terms of organization, code structure and configurability. What do you think? There can be an app for each API.