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 
@cpennington @ormsbee @dmitchell Any idea how to get either the complete node here or down to a variable depth (similar to the capability of `get_course`)? My use case is as follows: on my first page, I want to get all homeworks (which I can get by varying the depth of the tree returned by `get_course`). On subsequent pages I'd like to retrieve the individual homework problems.