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 
This feels very much like an insights-specific use case where we are making assumptions about the course structure that may not always hold true.  I don't think that type of endpoint belongs in a generic API like this.

Perhaps we could expose a filter for "graded=true" which would be considerably more generic. That would result in insights getting all children of graded content. Insights could then filter out the non-problems from that response.