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/rangeobject.c b/Objects/rangeobject.c
index d1c959a..0b7be43 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -367,7 +367,7 @@
     {NULL,		NULL}		/* sentinel */
 };
 
-PyTypeObject Pyrangeiter_Type = {
+PyTypeObject PyRangeIter_Type = {
 	PyVarObject_HEAD_INIT(&PyType_Type, 0)
 	"range_iterator",                        /* tp_name */
 	sizeof(rangeiterobject),                /* tp_basicsize */
@@ -441,7 +441,7 @@
 static PyObject *
 int_range_iter(long start, long stop, long step)
 {
-    rangeiterobject *it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
+    rangeiterobject *it = PyObject_New(rangeiterobject, &PyRangeIter_Type);
     if (it == NULL)
         return NULL;
     it->start = start;
@@ -519,9 +519,9 @@
     return result;
 }
 
-static PyTypeObject Pylongrangeiter_Type = {
+PyTypeObject PyLongRangeIter_Type = {
 	PyVarObject_HEAD_INIT(&PyType_Type, 0)
-	"rangeiterator",                        /* tp_name */
+	"longrange_iterator",                   /* tp_name */
 	sizeof(longrangeiterobject),            /* tp_basicsize */
 	0,                                      /* tp_itemsize */
 	/* methods */
@@ -567,7 +567,7 @@
                       PyLong_AsLong(r->stop),
                       PyLong_AsLong(r->step));
 
-    it = PyObject_New(longrangeiterobject, &Pylongrangeiter_Type);
+    it = PyObject_New(longrangeiterobject, &PyLongRangeIter_Type);
     if (it == NULL)
         return NULL;
 
@@ -627,7 +627,7 @@
         return int_range_iter(new_start, new_stop, -step);
     }
 
-    it = PyObject_New(longrangeiterobject, &Pylongrangeiter_Type);
+    it = PyObject_New(longrangeiterobject, &PyLongRangeIter_Type);
     if (it == NULL)
         return NULL;