Heterogeneous invalid item archiver

| Q                    | A
| -------------------- | ---
| Bug fix?             | Yes
| New feature?         | No
| BC breaks?           | Yes
| CI currently passes? | WIP
| Tests pass?          | Yes
| Scenarios pass?      | Yes
| Checkstyle issues?*  | No
| PMD issues?**        | 
| Changelog updated?   | No
| Fixed tickets        | PIM-3100
| Doc PR               |

Enables archiving of invalid elements for heterogeneous data. Necessary for YAML, XML, and multi-tabbed Excel imports

Also, CsvWriter is now usable with any type of entity. A specialized ProductCsvWriter was created.
No, it is only called once, when the invalid items file is written.