BUG: add date_format to read_csv / Date parsing mistake. read_csv
#50319 will happen to close #2586

This PR will make sure that bugs like #2586 don't appear again

Closes #2586 
I don't think so, I don't have any example of where this makes a difference to users

Basically, PDEP4 was supposed to fix https://github.com/pandas-dev/pandas/issues/2586, but didn't because of an exception which was being swallowed by this try-except block
The raising of that exception was fixed in https://github.com/pandas-dev/pandas/pull/50319
and now this except block doesn't make a difference (all tests pass without it).

Given that PDEP4 hasn't had an effect on users yet, I'd consider this just be part of that change and not have a separate whatsnew Thanks @MarcoGorelli  With the removal of the dateutil code path, the docstring of `date_parser` is outdated?

```
date_parser : function, optional
    Function to use for converting a sequence of string columns to an array of
    datetime instances. The default uses ``dateutil.parser.parser`` to do the
    conversion. Pandas will try to call `date_parser` in three different ways,
    advancing to the next if an exception occurs: 1) Pass one or more arrays
    (as defined by `parse_dates`) as arguments; 2) concatenate (row-wise) the
    string values from the columns defined by `parse_dates` into a single array
    and pass that; and 3) call `date_parser` once for each row using one or
    more strings (corresponding to the columns defined by `parse_dates`) as
    arguments.
```

Although I suppose it was already outdated, because dateutil.parser was already a fallback after `to_datetime`?