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 
Yeah, I can see that concern. I guess my feeling is that this ability to specify what fields to include is a bit of an escape hatch. The fields aren't the public api for the XBlock (in fact, we don't have, right now, a public API for the XBlock, except XML import/export (OLX), and particular views and handlers). So, the data returned by this chunk of the query is *not* stable. Perhaps the best things would be to make sure that that is *very* clear in the documentation.