Cleanup patches from Greg Stein:

* in import.c, #ifdef out references to dynamic loading based on
  HAVE_DYNAMIC_LOADING

* clean out the platform-specific crud from importdl.c.
  [ maybe fold this function into import.c and drop the importdl.c file? Greg.]

* change GetDynLoadFunc's "funcname" parameter to "shortname". change
  "name" to "fqname" for clarification.

* each GetDynLoadFunc now creates its own funcname value.

  WARNING: as I mentioned previously, we may run into an issue with a
  missing "_" on some platforms. Testing will show this pretty quickly,
  however.

* move pathname munging into dynload_shlib.c
diff --git a/Python/import.c b/Python/import.c
index e10463b..bce1b57 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1234,9 +1234,11 @@
 		m = load_compiled_module(name, buf, fp);
 		break;
 
+#ifdef HAVE_DYNAMIC_LOADING
 	case C_EXTENSION:
 		m = _PyImport_LoadDynamicModule(name, buf, fp);
 		break;
+#endif
 
 #ifdef macintosh
 	case PY_RESOURCE:
@@ -2158,6 +2160,8 @@
 	return m;
 }
 
+#ifdef HAVE_DYNAMIC_LOADING
+
 static PyObject *
 imp_load_dynamic(self, args)
 	PyObject *self;
@@ -2180,6 +2184,8 @@
 	return m;
 }
 
+#endif /* HAVE_DYNAMIC_LOADING */
+
 static PyObject *
 imp_load_source(self, args)
 	PyObject *self;
@@ -2330,7 +2336,9 @@
 	{"is_builtin",		imp_is_builtin,		1},
 	{"is_frozen",		imp_is_frozen,		1},
 	{"load_compiled",	imp_load_compiled,	1},
+#ifdef HAVE_DYNAMIC_LOADING
 	{"load_dynamic",	imp_load_dynamic,	1},
+#endif
 	{"load_package",	imp_load_package,	1},
 #ifdef macintosh
 	{"load_resource",	imp_load_resource,	1},