This will produce cross-version wheels so we won't have to do
releases just to make new wheels when new versions of Python
are available.
Also modernize the build process a bit to require setuptools and use
the native "optional" flag for extensions.
Now that compatibility between tornado and twisted is based on
asyncio, this test isn't very useful any more. It is broken by the
deprecations introduced in Python 3.10 and isn't worth reviving.
Our previous CI on Travis has been broken for a while due to their
move from travis-ci.org to travis-ci.com. Instead of fixing things up
there, move everything to github actions.