Course Materials shows children in draft mode

* Major refactoring of get_course_materials and related functions.
** Exposure of way more raw group and item information, which can be
   used later to refactor the templates, and then simplify
   get_course_materials more.
* Extension of draft mode list item templates with a bit declaring them
  to be a child of item such-and-such.
(closes #1459)
Comment cleanups in course_materials.py
Merge branch 'master' into jrbl-1459-children_with_parents-rebase

Conflicts:
	main/courses/actions.py
	main/courses/videos/views.py
course_materials.py cdild2parent->child2parent
Merge branch 'master' into jrbl-1459-children_with_parents-rebase
Merge pull request #2243 from Stanford-Online/jrbl-1459-children_with_parents

Course Materials shows children in draft mode