Always use relative time positioning based on the original video's duration

Summary:
This approach isn't great because we'll have to do some math when crafting experimental Socrates.yaml files to make sure the questions line up where we want them to across all videos.  If the placement of the question can be loose (+/- 2 seconds) it will be easy to calculate.  If you need to place the question very exactly (<1 second), it will be very difficult.

Here are some other approaches I considered.  This is approach #3.

1) Separate socrates.yaml files for each alternative
PRO: YAML files are easy to create
PRO: No new rendering/triggering logic required
CON: Need to create a YAML file for every alternative
CON: Have to route new logic into Socrates question loading so it loads the questions for the correct alternative

2) Add relative timestamps to YAML definitions
PRO: YAML files are less magical since it is explicitly relative
CON: YAML files, keyed by youtube_id, will be associated with multiple videos
CON: We'd have to edit all existing YAML files to switch to relative timestamps to have them work with experimental alternatives
CON: A lot of logic changes required to Socrates to understand these new timestamps

3) Always compute timestamps relative to displayed video duration
PRO: Zero changes to YAML files required.  We could re-use all existing YAML files to run experiments on existing videos.
CON: The timestamp definition in the YAML file would be confusing
CON: YAML files, keyed by youtube_id, will be associated with multiple videos
CON: Have to add new async deferred logic to render/trigger questions only after the video has started playing.  Alternatively, we could start/stop the video very quickly when the page loads, so that we can get the duration.

We also discussed this in HipChat Analytics room earlier today.

Test Plan:
For alternatives:
1. Control previewed at http://127.0.0.1:8080/gae_bingo
2. Alternative previewed at http://127.0.0.1:8080/gae_bingo

and scenarios:
1. Serverside rendering by loading http://127.0.0.1:8080/math/arithmetic/fractions/Equivalent_fractions/v/equivalent-fractions
2. Clientside rendering by loading http://127.0.0.1:8080/math/arithmetic/fractions/Equivalent_fractions/v/equivalent-fractions-example and then clicking on the Equivalent Fractions node

Verify that the video and questions load and display correctly for all combinations.

Reviewers: benjaminhaley, jace, tom

CC: eliana, tony, desmond

Maniphest Tasks: T2054

Differential Revision: http://phabricator.khanacademy.org/D5626