* Store old __import__ into __old_import__ and use importlib. Required introducing a somewhat fake file object that uses posix and file descriptors as open() is defined in site.py which obviously has not been imported yet. The faked file objects read all text in as ASCII since any codecs usage requires the codecs package to be imported. * Add _r_long() and _w_long() to marshal. * Add _case_ok() to imp. * Add _PyImport_Importlib() to import _importlib. This also involves importing errno, sys, imp, marshal and _os (which can be either nt, os2, or posix; reason why PyOS_MODNAME and PyOS_INITFUNC have been added). Also inject SEP as path_sep into _importlib. * Add Py_GetImportlibPath() as a way to get the path to _importlib. * Have Modules/getpath.c use _importlib.py instead of os.py when searching for Python's stdlib directory.