bpo-45123: PyAiter_Check and PyObject_GetAiter fix & rename. (GH-28194) (GH-28199)

Fix PyAiter_Check to only check for the `__anext__` presense (not for
`__aiter__`). Rename `PyAiter_Check()` to `PyAIter_Check()`,
`PyObject_GetAiter()` -> `PyObject_GetAIter()`.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 8ad1910..33eb857 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2816,18 +2816,18 @@ PyObject_GetIter(PyObject *o)
 }
 
 PyObject *
-PyObject_GetAiter(PyObject *o) {
+PyObject_GetAIter(PyObject *o) {
     PyTypeObject *t = Py_TYPE(o);
     unaryfunc f;
 
     if (t->tp_as_async == NULL || t->tp_as_async->am_aiter == NULL) {
-        return type_error("'%.200s' object is not an AsyncIterable", o);
+        return type_error("'%.200s' object is not an async iterable", o);
     }
     f = t->tp_as_async->am_aiter;
     PyObject *it = (*f)(o);
-    if (it != NULL && !PyAiter_Check(it)) {
+    if (it != NULL && !PyAIter_Check(it)) {
         PyErr_Format(PyExc_TypeError,
-                     "aiter() returned non-AsyncIterator of type '%.100s'",
+                     "aiter() returned not an async iterator of type '%.100s'",
                      Py_TYPE(it)->tp_name);
         Py_DECREF(it);
         it = NULL;
@@ -2844,12 +2844,10 @@ PyIter_Check(PyObject *obj)
 }
 
 int
-PyAiter_Check(PyObject *obj)
+PyAIter_Check(PyObject *obj)
 {
     PyTypeObject *tp = Py_TYPE(obj);
     return (tp->tp_as_async != NULL &&
-            tp->tp_as_async->am_aiter != NULL &&
-            tp->tp_as_async->am_aiter != &_PyObject_NextNotImplemented &&
             tp->tp_as_async->am_anext != NULL &&
             tp->tp_as_async->am_anext != &_PyObject_NextNotImplemented);
 }