WIP: API: Add support for PEP 519 / file system path protocol
- [ ] closes #13823
- [ ] tests added / passed
- [ ] passes `git diff upstream/master | flake8 --diff`
- [ ] whatsnew entry

needs tests
 @AnkurDedania Do you have time to update this and add tests? can you rebase / update TIL how to rebase, if done correctly It seems the rebase worked! 
Can you add some tests? also need to add a ``skip_if_no_fspath`` in ``pandas.util.testing`` (again alongside pathlib, py.path ones) @AnkurDedania ca you rebase / update @AnkurDedania something went wrong.

try

```
git rebase -i origin/master
```

then
```
git push yourremote yourbrach -f
``` closing, you can cherry-pick your changes on top of master. ps open a new PR.