First implementation

This is the first implementation of the algorithm even if there are
several points/bugs that need to be improved/fixed.
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.
Change diff algorithm

Switched from diff_match_patch to DiffPlex because of problems
when dealing with large files.
Refactor code a bit
Merge branch 'diffing'