Basic CSV exporting for messages.
Convert message formatter to a proper interface.
Move message formatters out into their own module.
Add more tests for CSV formatter.
Merge branch 'feature/issue-863-add-csv-message-export' into develop