Separate hintShown and hintUsed events

This causes the leavesAvailable number to be consistently decreased
before the request is sent instead of having a race-condition-esque
thing with the two event handlers.

Auditors: ben
Separate out grid and canvas ranges for graphInit

Auditors: eater
Ignore generated deploy files

Test Plan: crossed fingers

Reviewers: alpert, csilvers

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D2265
Initialize new problems to have the attempts and hints the server says already have happened.

Summary: UserExerciseCache will now send down the lastCountHints and lastAttemptNumber that we can use to initialize the hints and the attempt_number respectively.  This will ensure that attempt_problem will accurately determine if it is indeed a first_response if someone refreshes.  If we eventually trigger hintUsed on $(Exercises) it will also make it clear to the user that refreshing doesn't allow them to cheat.

Test Plan:
Do a problem incorrectly.
Refresh the page.
Do the problem correctly and confirm that attempt_number=2 is sent to the server
Take a Hint.
Refresh the page.
Make sure the hint shows.
Answer the problem correctly and make sure that hints_used=1.

Reviewers: alpert, benkomalo, jace

Reviewed By: alpert

CC: alex

Differential Revision: http://phabricator.khanacademy.org/D2274
Make numbers in problem more mathy

Auditors: eater
Merge with master.