Issue #2377: Make importlib the implementation of __import__().

importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 4737d54..42cd169 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2377,6 +2377,35 @@
 }
 
 PyObject *
+_PyObject_CallMethodObjIdArgs(PyObject *callable,
+        struct _Py_Identifier *name, ...)
+{
+    PyObject *args, *tmp;
+    va_list vargs;
+
+    if (callable == NULL || name == NULL)
+        return null_error();
+
+    callable = _PyObject_GetAttrId(callable, name);
+    if (callable == NULL)
+        return NULL;
+
+    /* count the args */
+    va_start(vargs, name);
+    args = objargs_mktuple(vargs);
+    va_end(vargs);
+    if (args == NULL) {
+        Py_DECREF(callable);
+        return NULL;
+    }
+    tmp = PyObject_Call(callable, args, NULL);
+    Py_DECREF(args);
+    Py_DECREF(callable);
+
+    return tmp;
+}
+
+PyObject *
 PyObject_CallFunctionObjArgs(PyObject *callable, ...)
 {
     PyObject *args, *tmp;