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.)
Merge branch 'all-authorities-reduce-memory' into rails-3-develop

This has already been cherry-picked into the wdtk branch, but
it should also be merged into rails-3-develop