added work around for limits 2 error
Fixed again
Fix issue #33473, allow white space in expressions involving subtraction

13-2v or 13 -2v was being accepted, but 13 - 2v was not.
https://github.com/Khan/khan-exercises/issues/33473
Allow whitespace after negation and subtraction.

Add \\s* after all instances of [-\\u2212] in exercises and tested.
There is no reason for counting students wrong for variance in formatting
of this type, and it is not infrequent to see expressions as 5 - x in text.
var tag incorrectly terminated with a /span ending tag

This was causing errors on our local school server by
students with Macs using Safari.
Unrevert i18n stuff only in the i18n branch for now
i18n-ize some exercises

Summary:
i18n-ize inscribed angles exercises, indepdent probability, and identifying
points 1

Test Plan: View those exercises, notice that they're not horribly broken

Reviewers: eater, emily

Reviewed By: eater

CC: alpert

Differential Revision: http://phabricator.khanacademy.org/D2063
Remove spurious ending p tag from functions_2.html.

Test plan:
Watch the CI server, since I can't repro the failure locally.

Auditors: peter, eater
Fix show-guess-solutionarea in answer-types.js

Test plan:
Verify the radio buttion is updated when scrolling through the timeline in:
http://localhost:8000/exercises/graphing_points_2.html?debug&problem=0&seed=0&activity=%5B%5B%22incorrect-activity%22%2C%22%5B%5B4%2C4%5D%2C%5C%22QI%5C%22%5D%22%2C8%5D%2C%5B%22correct-activity%22%2C%22%5B%5B4%2C-4%5D%2C%5C%22QIV%5C%22%5D%22%2C13%5D%5D

Auditors: alpert, emily
Can't have var tags inside graphie elements

Test plan: Run "make pack" to verify exercise packing works

Auditors: cbhl, peter
Remove improperly packed exercise upon failure

Test plan:
- run "make pack" with a broken exercise, watch it fail
- run "make pack" again and watch it fail again on the same exercise

Auditors: csilvers, alpert
Add degree symbols to answer area in angles_1 (and fix a small bug)

fix #42649; fix #43157

Test plan: local; answer one question of each problem type

Auditors: alpert
Use a less ambiguous letter

fix #43236

Test plan: minimal

Auditors: cbhl
Correctly (i hope) accept all answer permutations and add a TODO to do it better

fix #43280; fix #43228; fix #42415

Test plan: Answer -(x-1)(5x+2) for http://localhost:8000/exercises/factoring_polynomials_by_grouping_1.html?seed=177&problem=0&debug

Auditors: cbhl, alpert
Happy pi day! Finally add support for mixed number multples of pi

fix #43256; fix #43249

Test plan:
http://localhost:8000/exercises/circles_and_arcs.html?debug&problem=r-angle-to-a&seed=122&activity=%5B%5B%22incorrect-activity%22%2C%22%5C%221%201%2F4%20pi%5C%22%22%2C3%5D%2C%5B%22incorrect-activity%22%2C%22%5C%224%205%2F18%20pi%5C%22%22%2C7%5D%2C%5B%22incorrect-activity%22%2C%22%5C%222%205%2F36%20tau%5C%22%22%2C80%5D%2C%5B%22correct-activity%22%2C%22%5C%2277%2F36%20tau%5C%22%22%2C14%5D%5D

Auditors: alpert
Add a statement to assume x != 0 for simplifying rational expressions

fix #42324

Test plan: load each exercise locally and make sure it displays properly

Auditors: peter, cbhl
Add in a new linter to catch some malformed i18n strings.

Summary: This adds a new `make lint` command for exercises to check and see if there is an unexpected element contained within a string.

I had wanted to move this out into a separate program but I found that I was going to be duplicating a lot of logic from the original extractor - so it really made more sense to have the linting happen in there.

I want to have this run as a part of the official Khan Academy `make lint` as well. (Or maybe this could run before the exercise packing runs? I'm open to suggestions.)

The output from a failing `make lint` run will look something like this:

```
$ make lint
python build/extract_strings.py --lint exercises/*html
Lint error in file: exercises/logical_arguments_deductive_reasoning.html
Contains invalid node:
<div>
                        Identify the <span class="hint_blue">first hypothesis</span>, the <span class="hint_green">first conclusion</span>, the <span class="hint_red">second hypothesis</span>, and the <span class="hint_purple">second conclusion</span>.
                        <div class="graphie">
                            $( "#hyp_a" ).addClass( "hint_blue" );
                            $( "#conc_a" ).addClass( "hint_green" );
                            $( "#hyp_b" ).addClass( "hint_red" );
                            $( "#conc_b" ).addClass( "hint_purple" );
                        </div>
                    </div>
Invalid node:
<div class="graphie">
                            $( "#hyp_a" ).addClass( "hint_blue" );
                            $( "#conc_a" ).addClass( "hint_green" );
                            $( "#hyp_b" ).addClass( "hint_red" );
                            $( "#conc_b" ).addClass( "hint_purple" );
                        </div>
1 error detected.
make: *** [lint] Error 1
```

Test Plan: Run `make lint` and verify that there are no errors. Then modify one of the exercises. For example I modified `exercises/logical_arguments_deductive_reasoning.html` and removed the `<p>...</p>` immediately preceding a graphie block (causing it to be included in the extraction). This generated the above error and make the linter fail.

Reviewers: csilvers

CC:

Maniphest Tasks: T1002
Happy pi day! Display a custom message when a user approximates pi in an answer

Test plan: local; answer degrees_to_radians using approximations of pi

Auditors: alpert, cbhl
Add in a new linter to catch some malformed i18n strings.

Summary:
This adds a new `make lint` command for exercises to check and see if there is an unexpected element contained within a string.

I had wanted to move this out into a separate program but I found that I was going to be duplicating a lot of logic from the original extractor - so it really made more sense to have the linting happen in there.

I want to have this run as a part of the official Khan Academy `make lint` as well. (Or maybe this could run before the exercise packing runs? I'm open to suggestions.)

The output from a failing `make lint` run will look something like this:

```
$ make lint
python build/extract_strings.py --lint exercises/*html
Lint error in file: exercises/logical_arguments_deductive_reasoning.html
Contains invalid node:
<div>
                        Identify the <span class="hint_blue">first hypothesis</span>, the <span class="hint_green">first conclusion</span>, the <span class="hint_red">second hypothesis</span>, and the <span class="hint_purple">second conclusion</span>.
                        <div class="graphie">
                            $( "#hyp_a" ).addClass( "hint_blue" );
                            $( "#conc_a" ).addClass( "hint_green" );
                            $( "#hyp_b" ).addClass( "hint_red" );
                            $( "#conc_b" ).addClass( "hint_purple" );
                        </div>
                    </div>
Invalid node:
<div class="graphie">
                            $( "#hyp_a" ).addClass( "hint_blue" );
                            $( "#conc_a" ).addClass( "hint_green" );
                            $( "#hyp_b" ).addClass( "hint_red" );
                            $( "#conc_b" ).addClass( "hint_purple" );
                        </div>
1 error detected.
make: *** [lint] Error 1
```

Fix lint error.

Test Plan: Run `make lint` and verify that there are no errors. Then modify one of the exercises. For example I modified `exercises/logical_arguments_deductive_reasoning.html` and removed the `<p>...</p>` immediately preceding a graphie block (causing it to be included in the extraction). This generated the above error and make the linter fail.

Reviewers: csilvers

CC: alpert

Maniphest Tasks: T1002

Differential Revision: http://phabricator.khanacademy.org/D2098
Factor out default number forms in answer-types

Test plan: Do a few problems in degrees_to_radians

Auditors: alpert