Add Python 3.10 support
- Replace "Py_TYPE(obj) = type;" with "Py_SET_TYPE(obj, type);"
- Add pythoncapi_compat.h header file to get Py_SET_TYPE() on Python 2.7-3.8. Header file added to mercurial/ and contrib/python-zstandard/zstd/common/.
In Python 3.10, Py_TYPE(obj) must not longer be used as an l-value.
pythoncapi_compat.h comes from: https://github.com/pythoncapi/pythoncapi_compat