DetectColumnCountChanges and CsvBadDataException issue when there are extra columns in some rows

FieldCount is use to create the size of the string[] returned by
ReadLine(). It will be updated only once when the HasHeaderRecord is
true and when the header is being 'read' in for the first time. The
initial size of the header will be used to detect if subsequent rows has
the right amount of fields.

InconsistentColumnsTest() has been updated to test for rows with more or
less fields than the header.