BUG: Throw a ParserError when header rows have unequal column counts …
(GH43102)

- closes #43102 
- Fixed uncaught IndexError that is raised when the iterator `i` in `extract(r)` inside base_parser.py exceeds the length of a header row (when `field_count > len(r)`).
- A Parser error is raised when the header row had unequal columns. Outputs the first row where a mismatch is found.
- Added a test to match the error being raised.