Added all PyTypeObjects to the appropriate header files.
Before the patch a lot of internal types weren't available in the header files. The patch exposes the new iterators, views and some other types to all C modules. I've also renamed some of the types and tp_names.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 1d82e35..ea10abf 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -1790,7 +1790,7 @@
 static void
 sortwrapper_dealloc(sortwrapperobject *);
 
-static PyTypeObject sortwrapper_type = {
+PyTypeObject PySortWrapper_Type = {
 	PyVarObject_HEAD_INIT(&PyType_Type, 0)
 	"sortwrapper",				/* tp_name */
 	sizeof(sortwrapperobject),		/* tp_basicsize */
@@ -1822,7 +1822,7 @@
 static PyObject *
 sortwrapper_richcompare(sortwrapperobject *a, sortwrapperobject *b, int op)
 {
-	if (!PyObject_TypeCheck(b, &sortwrapper_type)) {
+	if (!PyObject_TypeCheck(b, &PySortWrapper_Type)) {
 		PyErr_SetString(PyExc_TypeError,
 			"expected a sortwrapperobject");
 		return NULL;
@@ -1846,7 +1846,7 @@
 {
 	sortwrapperobject *so;
 
-	so = PyObject_New(sortwrapperobject, &sortwrapper_type);
+	so = PyObject_New(sortwrapperobject, &PySortWrapper_Type);
 	if (so == NULL)
 		return NULL;
 	so->key = key;
@@ -1860,7 +1860,7 @@
 {
 	PyObject *value;
 
-	if (!PyObject_TypeCheck(so, &sortwrapper_type)) {
+	if (!PyObject_TypeCheck(so, &PySortWrapper_Type)) {
 		PyErr_SetString(PyExc_TypeError,
 			"expected a sortwrapperobject");
 		return NULL;
@@ -1893,8 +1893,8 @@
 
 	if (!PyArg_UnpackTuple(args, "", 2, 2, &x, &y))
 		return NULL;
-	if (!PyObject_TypeCheck(x, &sortwrapper_type) ||
-	    !PyObject_TypeCheck(y, &sortwrapper_type)) {
+	if (!PyObject_TypeCheck(x, &PySortWrapper_Type) ||
+	    !PyObject_TypeCheck(y, &PySortWrapper_Type)) {
 		PyErr_SetString(PyExc_TypeError,
 			"expected a sortwrapperobject");
 		return NULL;
@@ -1906,7 +1906,7 @@
 
 PyDoc_STRVAR(cmpwrapper_doc, "cmp() wrapper for sort with custom keys.");
 
-static PyTypeObject cmpwrapper_type = {
+PyTypeObject PyCmpWrapper_Type = {
 	PyVarObject_HEAD_INIT(&PyType_Type, 0)
 	"cmpwrapper",				/* tp_name */
 	sizeof(cmpwrapperobject),		/* tp_basicsize */
@@ -1936,7 +1936,7 @@
 {
 	cmpwrapperobject *co;
 
-	co = PyObject_New(cmpwrapperobject, &cmpwrapper_type);
+	co = PyObject_New(cmpwrapperobject, &PyCmpWrapper_Type);
 	if (co == NULL)
 		return NULL;
 	Py_INCREF(cmpfunc);