Allow packing of many files in one pack.rb invocation.

Summary:
In doing timing tests, I noticed that the cost of all the 'requires'
is dominating the cost of packing, when I run in the mode where I
invoke pack.rb separately on every input.  This makes it possible to
run pack.rb on many input files at once, while keeping its streaming
nature.  Basically, if multiple files are passed in, each will be
processed individually and emitted to stdout.  We can split the output
because each file ends with a /html tag.

(I wanted to use </html> to delimit files in the input as well, but I
can't because not all exercises have </html>!  They all have
<!DOCTYPE>, though, so I use that to split intead.)

A few style updates based on review.

Final style cleanups.

Test Plan:
Ran both:
   ruby build/pack.rb exercises/absolute_value_of_complex_numbers.html exercises/absolute_value.html | ruby build/pack.rb
   cat exercises/absolute_value_of_complex_numbers.html exercises/absolute_value.html | ruby build/pack.rb
and confirmed the output matches what we had for those two files
before the change, and that the two invocations produce identical output.

Reviewers: eater, alpert

Reviewed By: alpert

CC: alpert

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