sinks: csv: write nil as empty string

This should probably be a documented assumption - the CSV source assumes that all rows have the same headers. It uses the first `Row` that it receives to write the header row.