Demographics initial work

Note that a lot of the logic in the CourseEnrollmentTask is refactored from the original logic in course_enroll.py
Yes, PEP257 says that one can put the summary line on the first line or not.  But our Python guidelines (https://github.com/edx/edx-platform/wiki/Python-Guidelines) says that we should not put it on the first line.  So in the name of consistency, please change these to have the summary line on the next line.