Demographics initial work

Note that a lot of the logic in the CourseEnrollmentTask is refactored from the original logic in course_enroll.py
So I was suggesting that interval_start_datestamp = (self.interval.date_a -  datetime.timedelta(days=1)).isoformat() here.  But I guess that the value of date_a is so arbitrary to begin with that it doesn't make any difference.