Implement new dynamic CSV parser

- Dynamically handle player values
- CSVParser should be able to handle any csv file provided it uses the
defined headers