Redmine#5624: readcsv(): new function with acceptance test

see https://dev.cfengine.com/issues/5624

Simple function to properly parse a CSV file into a data container.  Does appropriate CSV parsing, especially escaped quotes.
yeah I copied that from elsewhere and forgot to rewrite, agree 100%