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
yeah, definitely can't change this. Unfortunately this is the name of the field in the legacy events, so we have to maintain it...