Integrate event-tracking in to the LMS

This is an initial proof of concept PR for early feedback purposes. I'll update this description when it's more refined and ready for a deep review.

Support incremental conversion of events from the old API to the new, the following initial changes are made so that we can validate the emission system:

* Emit events when an enrollment mode is changed.
* Use the new API for all enrollment events (including the new one).

Reviewers: @rocha, @brianhw