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'm a bit wary about introducing a new concept (like "assignment") given how complex content can be. I think it would make more sense to actually implement the "TODO add category filtering" in a generic way that isn't specific to problems.

This would also keep the API content focused and not muddy it up with endpoints that are specific to our particular answer distribution use case.