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

(cherry picked from commit aaf6daeed25f242e9f019f27166795de1e063564)