Python 3.9 support
Python 3.9 stable was released earlier this month. synapseclient itself installs and runs fine on it provided its dependencies are installed successfully, but there are no compiled wheels yet available for the dependency packages Pandas and numpy which can make the installation of those packages slow and more error prone due to compilation. e.g. https://github.com/numpy/numpy/issues/15947
We should declare official 3.9 support in the setup.py classifier in the first Python release following the availability of 3.9 wheels for Pandas and numpy (and once numpy itself adds the 3.9 support classifier).
Build runs unit and integration tests with 3.9, and a few of the validators of other issues have used 3.9 to validate their issues.
Draft PR with the changes, also works around a MacOS 3.9/numpy build issue that should not be necessary once the wheels are available.