Demographics initial work

Note that a lot of the logic in the CourseEnrollmentTask is refactored from the original logic in course_enroll.py
Reading the code below, it looks like it will do the right thing -- it fills only while ENROLL.