* Removed usage of vistir.compat.JSONDecodeError
This is no longer needed since Python version 3.6. Earlier versions
didn't have json.JSONDecodeError and raised ValueError instead.
* Removed vistir.path.rmtree in favour of shutil.rmtree
* Add .pre-commit-config.yaml to the project and exclude tests (for now). This does not include the MyPy linting that pip does but does include everything else.