Reduce the memory used to serve /body/all-authorities.csv

On WDTK, /body/all-authorities was using lots of memory - this
commit reduces that by (a) fetching the public bodies in batches,
rather than keeping them all in memory at one time and
(b) writing the CSV to a file and then returning it with
X-Sendfile (or equivalent), rather than returning the whole file
from memory with send_data.

There's a FIXME to do with the layout of download directories; if
that's changed, the example nginx config, etc. will need to be
updated too.

This commit also adds a basic test for reasonable CSV being
returned and switches from FasterCSV to CSV in order to fix this
NotImplementedError under Ruby 1.9:

   Please switch to Ruby 1.9's standard CSV library.
   It's FasterCSV plus support for Ruby 1.9's m17n encoding engine.

(The CSV version seems to still work fine under 1.8.7.)