Implement shim for mobile video events.

This PR addresses the following issues:

1) All requests return a 200 OK unless there is an authorization failure. This is deliberate in case the secret key is compromised.
2) Push all of the nasty logic necessary to generate compatible video events into the LMS instead of trying to do that mapping on the mobile device
3) Stop using the deprecated "action" field in the segment.io event. According to their support team this field should not be used anymore.

Fixes: AN-3818
@rocha I suppose I would have expected:
1. this class to be named something like "LegacyEventProcessor".  And then (eventually, if not now), updating other code in the platform to no longer need to generate these legacy fields.  Is this shim not located at a place where other platform-generated events also filter through (before persisting in the logs)?
2. the code to not be specific to only video events.  Aren't there other legacy events that have this backward compatibility requirement that we'll need to send from the mobile app?  For example, user login is something we'll add sooner rather than later.