Switch to using expr() function and make more interesting prpblem
Fix solution entry box and make better range of problems
Write function to simplyify terms in sum of expressions
Split into separate + and - exercises to make it easier to deal with hints
Rewrite rate problem hints
Change method of generating problem to avoid questions that simplify
Simplify fraction where required
Add solution
Remove unnecessary variables
Avoid the rare chance that the two constants could be 0 and the coefficients share a factor
Fix hint error
Add hint plural
Make numbers nicer
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.
Fix formatting for money with negative values
Ensure prize in lottery is never negative
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