Adapt for Python 3.10 deprecation changes by using asyncio.run
instead of IOLoop.start throughout (except for TCPServer multi-process
docs).
Demos have all been changed but I haven't tested all of them.
setup.py is intended to be run with "python setup.py install"
sources in the tornado module which have main functions/clauses
are intended to be run with "python -m tornado.xxx"
various demos and scripts can be run directly