Redmine#5454: use CSV parser in package*matching() and CSV writer in ReportSoftware

see https://cfengine.com/dev/issues/5454