Start separating out interface code from khan-exercises

TODO: make local mode work again, separate everything else out

Test Plan:
Did problems in addition_1; took hints, lost leaves.
Saw that my perseus exercise doesn't make a failing HTTP request anymore.
Commented out exercise-content.js and saw that when loading a Perseus exercise, the only JS errors were from binding events in exercises.js and user-exercise-cache.js -- those'll be the next things I tackle.
Move other events to Exercises event bus

Test Plan:
Did problems in addition 1, took hints, saw leaves decrease, finished stacks, etc. and everything looked okay. ack "\bKhan\b" javascript/exercises-package/ gives nothing suspicious any more.
Move interface.js to within khan-exercises

(No other changes)

Test Plan:
Loaded Addition 1.
Split out most exercise interface code

There is no scenario in which this is not a bitch to review. Sorry.

TODO: make local mode work again
TODO: get rid of utils/hints.js and merge with exercise-package/interface.js

Test Plan:
Did problems in Addition 1 locally and took hints and saw buttons update and lost leaves.
Make local mode work again and fix a few bugs

Auditors: eater, cbhl
Move hints.js code into interface.js

Test Plan:
Took hints, got acceptable formats.

Auditors: eater, cbhl
Only bind events once in live mode

Test Plan:
Load Addition 1 and see only one copy of the problem.

Auditors: eater, cbhl
Misc changes to make perseus exercises a reality

Auditors: eater, cbhl
Perseus topic mode, khan-exercises MathJax 2 fixes

Auditors: eater, cbhl
Fix show solution button text

Auditors: eater, cbhl
attemptSaved doesn't appear to be used anywhere...

Auditors: eater, cbhl
, -> ;

Summary:
I accidentally replaced a comma with a semicolon in my last commit.
Change it back.

Test Plan: Fingers crossed

Reviewers: eater, alpert

Reviewed By: eater

Differential Revision: http://phabricator.khanacademy.org/D2113
Don't load perseus packages so we can merge in to stable

Test Plan:
Loaded addition 1.
Merge branch 'perseus'

Conflicts:
	khan-exercise.js
Don't round integer answers before validating them

Summary: Can you see a problem with this?

Test Plan:
http://localhost:8000/exercises/completing_the_square_1.html?debug&problem=original&seed=2&activity=%5B%5B%22incorrect-activity%22%2C%22%5B%5C%224.9%5C%22%2C%5C%22-6.9%5C%22%5D%22%2C3%5D%2C%5B%22correct-activity%22%2C%22%5B%5C%225%5C%22%2C%5C%22-7%5C%22%5D%22%2C3%5D%5D

http://localhost:8000/exercises/converting_decimals_to_fractions_2.html?debug&problem=into-mixed&seed=91&activity=%5B%5B%22incorrect-activity%22%2C%22%5C%229.29%5C%22%22%2C6%5D%2C%5B%22correct-activity%22%2C%22%5C%229%2029%2F100%5C%22%22%2C4%5D%5D

http://localhost:8000/exercises/converting_fractions_to_decimals.html?debug&problem=0&seed=25&activity=%5B%5B%22correct-activity%22%2C%22%5C%220.438%5C%22%22%2C8%5D%2C%5B%22correct-activity%22%2C%22%5C%220%2C438%5C%22%22%2C4%5D%5D

http://localhost:8000/exercises/multiplication_4.html?debug&problem=0&seed=111&activity=%5B%5B%22correct-activity%22%2C%22%5C%2241.976%5C%22%22%2C19%5D%2C%5B%22correct-activity%22%2C%22%5C%2241%2C976%5C%22%22%2C3%5D%2C%5B%22correct-activity%22%2C%22%5C%2241976%5C%22%22%2C1%5D%5D

Reviewers: alpert

Reviewed By: alpert

CC: peter

Differential Revision: http://phabricator.khanacademy.org/D2112
Fix smiley face src

Auditors: eater, cbhl
Fix code tags with spans in them

Test Plan:
Didn't see crazy HTML MathJax stuff at /exercises/ideal_stoichiometry.html?seed=83&problem=na-cl2---nacl&debug.

Auditors: eater
Don't use code tags when passing math to MathJax

Test Plan:
Loaded addition 1.

Auditors: eater
Revert "Don't use code tags when passing math to MathJax"

This reverts commit 2d70a6142cd2fe1b2fcb9499eb1bd7dc58c352c8.

Test plan:
Load http://localhost:8000/exercises/divisibility.html?debug and verify correct answer is accepted
Also check http://localhost:8000/exercises/ideal_stoichiometry.html?seed=83&problem=na-cl2---nacl&debug looks ok

Auditors: alpert
Add problem history stub for Perseus exercises.

Auditors: eater, alpert