Update CsvGenerator.
Whaddaya know, Content-Description is meaningless in HTTP.

It means something in MIME, which I guess is why CRP used it.
Internal nits.
Internal: Use Conference::outcome_map() to fetch the outcome map.
Store the outcome map as a setting.
Stop storing outcome in ReviewFormOptions.
Use Conference::topic_map for topics.
Store review form information as a JSON setting.
Get rid of ReviewForm::options.
Internal: Conference::settingText() becomes Conference::setting_data().
Use the setting, not the database tables, to produce a review form.