Improve CSV parsing

Now CSV is parsed in chunks so that we can use less IO readers objects
and be more compliant to CsvHelper library.
ignore me