bpo-31680: Add curses.ncurses_version. (GH-4217)

Use curses.ncurses_version for conditionally skipping a test.
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index 2a2ee2b..2a4d9ce 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -1291,6 +1291,19 @@
    A bytes object representing the current version of the module.  Also available as
    :const:`__version__`.
 
+
+.. data:: ncurses_version
+
+   A named tuple containing the three components of the ncurses library
+   version: *major*, *minor*, and *patch*.  All values are integers.  The
+   components can also be accessed by name,  so ``curses.ncurses_version[0]``
+   is equivalent to ``curses.ncurses_version.major`` and so on.
+
+   Availability: if the ncurses library is used.
+
+   .. versionadded:: 3.8
+
+
 Some constants are available to specify character cell attributes.
 The exact constants available are system dependent.
 
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index 758d32e..02391de 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -152,6 +152,15 @@
 characters or bytes unrepresentable at the OS level.
 (Contributed by Serhiy Storchaka in :issue:`33721`.)
 
+
+ncurses
+-------
+
+Added a new variable holding structured version information for the
+underlying ncurses library: :data:`~curses.ncurses_version`.
+(Contributed by Serhiy Storchaka in :issue:`31680`.)
+
+
 pathlib
 -------