Move common functionality between csv formatters to shared trait and make vallu and lmj csv formatters independent objects