Demographics initial work

Note that a lot of the logic in the CourseEnrollmentTask is refactored from the original logic in course_enroll.py
Do we also envision needing "allow_certificate"?  Concerned we might find it useful (i.e. how many are not permitted certificates?).   We don't permit certificates to those from embargoed countries, according to code comments in lms/djangoapps/certificates/models.py.

Also, do we need to take into account the UserStanding table (i.e. account disabled or enabled)?  Some simple counts of number of students disabled (due to bad behavior) might be possible in future, but I'm guessing it  would never be used to actually limit activity.  (I.e. if they're disabled, they won't have any activity.)