The datatable can now have zero rows. This can happen in conjunction with persistence adapters when you give a SELECT statement which does not return any results because the WHERE clause filters them out. In this case an empty datatable with only column header names should be the result which can be processed afterwards, e.g. by the CSV-parser.
Updated persistence adapters to correctly handle datatables without rows or with wrong column names on save.
Added CsvParser class and implemented conversion function from CSV to DataTable. Also added test class for CsvParser.
Implemented CsvParser functions for converting from datatable to CSV including test cases.
Merge pull request #1 from avorium/introduce_csv_parser

Introduce csv parser