Fix missing cards bug

Summary:
`Exercises.currentCard` was being read out before it was updated with the
number of leaves that the student recieved, causing incorrect data to be sent
to the server. Then, when the data was read back, the incorrect number of
leaves was being shown.

Some background: In certain cases, students would get incorrect card progress
when they loaded an exercise with an incomplete stack. The cases where this
happened were when the data couldn't be loaded from the localStorage cache, and
thus had to depend on server data to show the cards. However, the server was
being sent incorrect data, so the cards were showing incorrect number of leaves.

Test Plan:
Log out. Go to an exercise (say /exercise/addition_1). Do some
problems (don't get 1 leaf), and make sure that you are now a phantom user.
Reload the page, and note that the number of leaves you recieved has been
maintained.

Log in. Go to an exercise, do some problems. Clear localStorage, and then
reload the page. Note that the number of leaves you recieved has been
maintained.

Reviewers: alpert, eater

Reviewed By: alpert

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