Use CSV headers to parse detail records.

MeS added a column in the middle of the settlement & batch transaction detail CSV records, which breaks how we parse it here because we use the column index instead of the header.

The problem only exists with the detail records today, but this change should be made to all record classes to ensure that this kind of failure doesn't happen again when MeS decides to throw in columns without notifying anyone.

We're moving off of MeS at Harry's so I don't want to invest time in this right now. Going to add an issue to this project so that if anyone comes along it's visible.