bpo-39487: Merge duplicated _Py_IDENTIFIER identifiers in C code (GH-18254)

Moving repetitive `_Py_IDENTIFIER` instances to a global location helps identify them more easily in regards to sub-interpreter support.
diff --git a/Objects/iterobject.c b/Objects/iterobject.c
index da89298..fe1de7e 100644
--- a/Objects/iterobject.c
+++ b/Objects/iterobject.c
@@ -11,6 +11,8 @@
     PyObject *it_seq; /* Set to NULL when iterator is exhausted */
 } seqiterobject;
 
+_Py_IDENTIFIER(iter);
+
 PyObject *
 PySeqIter_New(PyObject *seq)
 {
@@ -104,7 +106,6 @@
 static PyObject *
 iter_reduce(seqiterobject *it, PyObject *Py_UNUSED(ignored))
 {
-    _Py_IDENTIFIER(iter);
     if (it->it_seq != NULL)
         return Py_BuildValue("N(O)n", _PyEval_GetBuiltinId(&PyId_iter),
                              it->it_seq, it->it_index);
@@ -244,7 +245,6 @@
 static PyObject *
 calliter_reduce(calliterobject *it, PyObject *Py_UNUSED(ignored))
 {
-    _Py_IDENTIFIER(iter);
     if (it->it_callable != NULL && it->it_sentinel != NULL)
         return Py_BuildValue("N(OO)", _PyEval_GetBuiltinId(&PyId_iter),
                              it->it_callable, it->it_sentinel);