COMPAT: make read_excel accept path objects for the filepath (#12655)
- [x] closes #12655
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Fairly simple fix overall, since `get_filepath_or_buffer` is already set up to just convert the path objs to string, we can do that first and then just let the existing logic handle it.

Since the libraries that contain the path objects aren't hard dependencies, I'm not sure how to typecheck against them without first using the `_IS_LIBRARY_INSTALLED` checks and then importing if they're installed. Let me know if this should be done differently.

OK, what if we just use the `_stringify_path()` function that already exists to avoid the ugly imports? I'm pretty sure `ExcelFile` needs to do slightly different things with URLs than what is done in `get_filepath_or_buffer`, in terms of getting the data as string vs bytes.
 @jreback Squashed and tests are passing, do I need to worry about the coverage checker? Haven't seen that before.
 @onesandzeroes I think its complaining (the cov checker) about not testing the `is_url` calls. Can you review the tests and make sure we are testing pulling from url and s3 ok? (I think we should be). ping if ok.
 @jreback yeah there are tests for both http and file url's, and for s3 as well, those paths should be covered.
 @onesandzeroes thanks!
