Demographics initial work

Note that a lot of the logic in the CourseEnrollmentTask is refactored from the original logic in course_enroll.py
Well, not all the information, since it's not including the user or course.  But not sure how to word this better.