bpo-28886: doc: Move deprecated abc decorators to separate section (GH-176)

(cherry picked from commit 52c6b89796a7ec391db20281e05b256f57e97b35)

Co-authored-by: Harshul jain <harshulrobo@gmail.com>
diff --git a/Doc/library/abc.rst b/Doc/library/abc.rst
index 9522dd6..7071076 100644
--- a/Doc/library/abc.rst
+++ b/Doc/library/abc.rst
@@ -160,7 +160,7 @@
 
 
 
-The :mod:`abc` module also provides the following decorators:
+The :mod:`abc` module also provides the following decorator:
 
 .. decorator:: abstractmethod
 
@@ -236,8 +236,15 @@
       multiple-inheritance.
 
 
+The :mod:`abc` module also supports the following legacy decorators:
+
 .. decorator:: abstractclassmethod
 
+   .. versionadded:: 3.2
+   .. deprecated:: 3.3
+       It is now possible to use :class:`classmethod` with
+       :func:`abstractmethod`, making this decorator redundant.
+
    A subclass of the built-in :func:`classmethod`, indicating an abstract
    classmethod. Otherwise it is similar to :func:`abstractmethod`.
 
@@ -251,14 +258,14 @@
           def my_abstract_classmethod(cls, ...):
               ...
 
-   .. versionadded:: 3.2
-   .. deprecated:: 3.3
-       It is now possible to use :class:`classmethod` with
-       :func:`abstractmethod`, making this decorator redundant.
-
 
 .. decorator:: abstractstaticmethod
 
+   .. versionadded:: 3.2
+   .. deprecated:: 3.3
+       It is now possible to use :class:`staticmethod` with
+       :func:`abstractmethod`, making this decorator redundant.
+
    A subclass of the built-in :func:`staticmethod`, indicating an abstract
    staticmethod. Otherwise it is similar to :func:`abstractmethod`.
 
@@ -272,23 +279,17 @@
           def my_abstract_staticmethod(...):
               ...
 
-   .. versionadded:: 3.2
-   .. deprecated:: 3.3
-       It is now possible to use :class:`staticmethod` with
-       :func:`abstractmethod`, making this decorator redundant.
-
 
 .. decorator:: abstractproperty
 
+   .. deprecated:: 3.3
+       It is now possible to use :class:`property`, :meth:`property.getter`,
+       :meth:`property.setter` and :meth:`property.deleter` with
+       :func:`abstractmethod`, making this decorator redundant.
+
    A subclass of the built-in :func:`property`, indicating an abstract
    property.
 
-   Using this function requires that the class's metaclass is :class:`ABCMeta`
-   or is derived from it. A class that has a metaclass derived from
-   :class:`ABCMeta` cannot be instantiated unless all of its abstract methods
-   and properties are overridden. The abstract properties can be called using
-   any of the normal 'super' call mechanisms.
-
    This special case is deprecated, as the :func:`property` decorator
    is now correctly identified as abstract when applied to an abstract
    method::
@@ -322,12 +323,6 @@
               ...
 
 
-   .. deprecated:: 3.3
-       It is now possible to use :class:`property`, :meth:`property.getter`,
-       :meth:`property.setter` and :meth:`property.deleter` with
-       :func:`abstractmethod`, making this decorator redundant.
-
-
 The :mod:`abc` module also provides the following functions:
 
 .. function:: get_cache_token()