scratchpad: Protect against null prevPen

Fixes #71379.

Test Plan: Click down in the top area of the scratchpad next to the colors, then drag down into the actual drawing area. No JS errors should result.

Auditors: alex
Minor hint clarification

Multiple people complained about the exercise due to original
wording (see #67736). This clarifies that hint to avoid those
complaints.
Merge pull request #71547 from theinternetftw/minor-hint-clarification

Minor hint clarification
Fix a random seed of zero being ignored

This was caused by zero being interpreted as false.
Hurray loose typing! Hurray Javascript! :D
Merge pull request #71539 from theinternetftw/fix-zero-seed-not-seeding

Fixes a random seed of zero being ignored
Stop rolling back userExercise

Summary:
It appears that we used to rollback userExercise's lastAttemptNumber and lastCountHints to avoid hitting a problem in powermode with its hints already displayed (that confused users!). Unfortunately, this trickery causes the following scenario:

1 - User opens suggested task on dashboard
2 - User takes a hint, and we mark that problem result in learning-task.js, gets an x in the task header view
3 - User closes task
4 - User reopens task
5 - User sees the same problem as before, answers correctly this time, and we mark this problem *again*, this time correctly and she gets a V in the task header view

This is wrong because we are double-marking a problem result, and not only that we're saying she got it "right" even though she took a hint. We shouldn't be rolling back like this, and I propose that we live with non-math-power-mode-user's confusion instead of confusing math-task-edge-case. For the extra curious, the rollback caused us to fail a check that happens around step 4 where we check whether the user's acted on this problem before

Reported by eater: https://trello.com/c/QV2J9cQR/777-if-you-get-a-problem-wrong-close-the-task-reopen-it-and-answer-the-same-problem-correctly-you-get-a-checkmark-for-it-even-though so I'll CC him

Test Plan: Do the same things above, except see that no extra V/X appears on the subsequent attempt

Reviewers: alpert

Reviewed By: alpert

CC: eater, james

Differential Revision: http://phabricator.khanacademy.org/D3997
add missing punctuation, fix #71681
Merge pull request #72085 from mauk81/patch-2

add missing punctuation, fix #71681