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
Merging with master.
Add in a simple utility for cleaning up exercise files.
Clean up the exercise files using the new cleaning utility.
Two doctypes were being output. Only output one.
We don't need to write out an extra doctype since we're writing out the entire HTML tree, not just the root node.
Hack to fix attribute order in clean-exercises.py.

Summary:
class and id should come before all the other attributes, even though d comes
before i alphabetically.

Test Plan: Ran it against exercises/*.html; separate diff forthcoming.

Reviewers: eater, alpert, john

CC: csilvers, peter

Differential Revision: http://phabricator.khanacademy.org/D2145
Fix attribute ordering for meta http-equiv too.
Special case href for a tags, too.
Make clean-exercises.py output a meta Content-Type tag.

It appears that lxml is sensitive to the order of the attributes when it
handles meta Content-Type tags.
Clean up the exercise files using the new cleaning utility. (II)
clean-exercises.py should output a newline at the end of each file.
Clean up the exercise files using the new cleaning utility. (III)
Output UTF-8, except for &nbsp; which we change back ourselves.
Clean up the exercise files using the new cleaning utility. (IV)
Fix local mode.
Merging in from master.
Clean up the newly-changed HTML exercises and also fix up the constantly-expanding whitespace problem in the cleaner.
Merge pull request #44721 from Khan/i18n

Merge i18n Branch with Master