Extract public body CSV export to its own class

- SRP: Do one thing. PublicBodyCSV converts a
  collection of bodies in to a CSV formatted
  String
- Adds some parenthesis around parameters in
  PublicBodyController#list_all_csv
- Let the controller handle what records to pull
  out for the CSV export

Arguably this doesn't really need to be anything
to do with PublicBody, but it allows us to set
nice defaults.
Add PublicBodyController#list_all_csv specs

- Shouldn't include non-visible bodies
- Shouldn't include internal admin bodies
Move PublicBody domain logic from controller

Moves the magic 'site_administration' tag logic to the PublicBody
model. Easier to make the string passed to `PublicBody#has_tag?` configurable
if we want to allow this to be set per install.