First pass at creating a new extract-strings.py script for our i18n efforts.

Summary:
This is a simple script that's able to extract strings from the Khan Exercises .html files and generate a .po file.

I haven't evaluated how accurate the results are yet - and I've found at least one major issue which I'll resolve tomorrow, namely that elements inside of banned elements (like `<code>`) are still being picked up.

Test Plan: Run `python build/extract-strings.py`. You should end up with a file named `exercises.po` containing a number of translatable strings.

Reviewers: csilvers

Maniphest Tasks: T340

Differential Revision: http://phabricator.khanacademy.org/D1058
Rewrite of extract-strings to be easier to use and integrate feedback from Craig and Alpert.
Fix some linting issues.
Fix line spacing for lint.
Refactor all exercise- and module-loading code

Summary:
This fixes an annoying race condition where Khan.resetModules was
getting called from loadExercises after a problem had been displayed.
This changes the value of Khan.modules which in turn affects how hints
are displayed if the modules of the new loaded script differ from the
currently-presented exercise.

The code didn't properly distinguish between all loaded modules and
those necessary for the current exercise, so I've separated those into
modulePromises and Khan.modules. In doing so, I refactored how exercises
are loaded to to be cleaner and hopefully easier to understand. Async
code with promises is much nicer than code without.

This should fix everyone complaining about the exercises calling their
children a `var dummy;`.

I got rid of the `contentLoaded` and `exerciseLoaded:*` events that were
being triggered on `Khan` -- neither was in use outside of this file. I
also got rid of `?nocache` support since it was a little bit
inconvenient and I don't ever use it; let me know if you want it back.

Test Plan:
Tested addition_1 and parallel_lines_1 locally; also verified
that in a summative where the subexercises load different modules,
resetModules grabs the right ones. Tested the "Basic addition" and
"Taking derivatives" topics in the real site.

Reviewers: eater, stephanie

Reviewed By: eater

CC: michaelchang

Differential Revision: http://phabricator.khanacademy.org/D1062
Add in a new extract_strings_test.py file for testing string extraction. Fix a new bugs in extract_string.py, as well.
Fix linting issues.
Rename "sliderWindow" in Visualizing Derivatives to "slidingWindow"

Auditors: eater
Growth mindset A/B test -- attempt to include change to khan-exercise.js.

Test plan:
Ran on appserver on local machine.

Review:
Jace
fixed spacing
Revert "fixed spacing"

This reverts commit 96834827e24c32ef38d31099c9bf9140164256cb.
Revert "Growth mindset A/B test -- attempt to include change to khan-exercise.js."

This reverts commit b280848971bf4b1e23bf7697349ee78180d6e065.
Remove old exercises which aren't currently live.

Summary:
Looked for files which didn't match a name that @eater listed.

Removed any which haven't been touched after August 2012.

Test Plan: none

Reviewers: eater, alpert

Reviewed By: eater

CC: tom, stephanie, emily

Differential Revision: http://phabricator.khanacademy.org/D1056
Remove spurious change from investigating visualizing derivatives on IE.
Provide feedback if someone gets the right answer with the wrong graph Fix #33379

Summary: Curious if something like this would be covered by static questions?

Test Plan: Test locally, answering with correct answer and wrong graph, then with a fully correct answer. Check problem history to ensure the timeline worked.

Reviewers: alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D1066
Clarify wording of lcm/gcd problem

Fix #33830

Test plan: Mark I eyeball

Auditors: alpert
Fix bad template injection when coming from video

Auditors: eater
Add a hint to matrix_transpose

Fix #37394

Test plan: Local

Auditors: stephanie
Hide window endpoints for visualizing derivatives in Windows 7/Firefox

Summary: Fix https://s3.amazonaws.com/uploads.hipchat.com/6574/98377/oqxx622xiefgu2q/upload.png (Windows 7/Firefox)

Test Plan: Tested locally; plan to test on Windows 7/Firefox

Reviewers: eater

Reviewed By: eater

CC: alpert, michaelchang

Differential Revision: http://phabricator.khanacademy.org/D1063
Fixed a number of style issues, as suggested by @csilvers. Added # of extracted strings count at end of run. Made sure that the tests will run from any directory.