We want to eliminate the source transformer. Currently it inserts
a from mercurial.pycompat import ... at the top of files to alias
some builtins.
This commit replaces the implicit import of open with an explicit
import on files that need it and changes the source transformer to
no longer import open.
As part of this, we needed to store an explicit local for open in
the Python 2 code path in pycompat so the import works. (Builtins
that are automatically in scope cannot be imported.)