Flowerhack/feature/refactor to track enrollment

Now CourseEnrollment.create_enrollment is CourseEnrollment.create_or_update_enrollment, i.e. the Swiss army knife for modifying enrollments.

Since all mode/activation/etc changes are now routed through this one method, it should make tracking events easier for analytics.

@mulby @dianakhuang