py3: use io.BytesIO directly
Previously, pycompat.bytesio and pycompat.stringio referred to
io.BytesIO. And util.bytesio and util.stringio aliased the pycompat
symbols.
This commit switches everything to use io.BytesIO directly. util.bytesio
and util.stringio still exist to provide backwards compatibility, as
they were the preferred symbols.
Differential Revision: https://phab.mercurial-scm.org/D12252
check-py3-compat: drop support for Python 2
We no longer support Python 2 so we can drop support for linting code
for Python 2 support.
This gets rid of the check for `from __future__`, enabling us to delete
those imports.
Differential Revision: https://phab.mercurial-scm.org/D12251