Only uglify javascript with a newline in it.

Summary:
I added comments at the top of the file explaining why we uglify at
all, and why uglifying is only necessary when the javascript has
newlines.

This gives a nice speedup to 'make pack:

   % make pack
   old: 92.293u 9.616s 1:52.15 90.8%    0+0k 16+7712io 0pf+0w
   new: 71.260u 8.792s 1:36.97 82.5%    0+0k 0+7896io 0pf+0w

23% less cpu time!  Most of this is spent spawning pack.rb, so in
streaming mode (which deploy.py uses), it's even better:

   % cat exercises/*.html | ruby build/pack.rb >/dev/null
   old: 28.197u 0.564s 0:31.92 90.0%    0+0k 0+0io 0pf+0w
   new: 7.604u 0.116s 0:08.49 90.8%     0+0k 0+0io 0pf+0w

A whopping 75% less cpu time!

Small style cleanup suggested in review.

Test Plan:
Did a diff of exercises-packed with both the old and new pack.rb.
Diffs were as expected:
   -        <var id="INT">rand(5)&gt;0?randRange(1,9):0</var>
   -        <var id="FRAC">rand(3)&gt;0?"."+randRange(1,9):""</var>
   -        <var id="SIGN">randFromArray(["","-"])</var>
   +        <var id="INT">(rand(5) &gt; 0 ? randRange( 1, 9 ) : 0)</var>
   +        <var id="FRAC">(rand(3) &gt; 0 ? "." + randRange(1, 9) : "")</var>
   +        <var id="SIGN">(randFromArray(["", "-"]))</var>
   <etc>

I also ran python -m SimpleHTTPServer and visited
   http://localhost:8000/exercises-packed/absolute_value_equations.html
   http://localhost:8000/exercises-packed/age_word_problems.html
   http://localhost:8000/exercises-packed/angles_2.html
and verified they still render correctly.

Reviewers: alpert, eater

Reviewed By: alpert

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