Drop python2 support
This mostly consists in removing the dependency on "six" and updating
the code to use only Python3 idioms.
Notice that we previously used TemporaryDirectory from
cubicweb.devtools.testlib for compatibility with Python2. We now
directly import it from tempfile.
3.27 (not yet released)
=======================
New features
------------
* Tests can now be run concurrently across multiple processes. You can use
`pytest-xdist`_ for that. For tests using `PostgresApptestConfiguration` you
should be aware that `startpgcluster()` can't run concurrently. Workaround is
to call pytest with ``--dist=loadfile`` to use a single test process per test
module or use an existing database cluster and set ``db-host`` and
``db-port`` of ``devtools.DEFAULT_PSQL_SOURCES['system']`` accordingly.
.. _pytest-xdist: https://github.com/pytest-dev/pytest-xdist
Backwards incompatible changes
------------------------------
* ``cubicweb-ctl`` commands "start", "stop", "restart", "reload" and "status"
have been removed because they relied on the Twisted web server backend that
is no longer maintained nor working with Python 3.
* Twisted web server support has been removed.
* Support for legacy cubes (in the 'cubes' python namespace) has been dropped.
Use of environment variables CW_CUBES_PATH and CUBES_DIR is removed.
* Python 2 support has been dropped.
Deprecated code drops
---------------------
Most code deprecated until version 3.25 has been dropped.