DOC: improve Index docstrings
- [X] xref #37875 and #27977
-  ~~[Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature~~
- [X] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
-  ~~Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.~~
- ~~Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.~~

Improve docstring of the following methods:

`Index.is_monotonic_increasing`
<details>
<summary>output of  scripts/validate_docstrings.py</summary>

```

################################################################################
############### Docstring (pandas.Index.is_monotonic_increasing) ###############
################################################################################

Return a boolean if the values are equal or increasing.

Returns
-------
bool

See Also
--------
Index.is_monotonic_decreasing : Check if the values are equal or decreasing.

Examples
--------
>>> pd.Index([1, 2, 3]).is_monotonic_increasing
True
>>> pd.Index([1, 2, 2]).is_monotonic_increasing
True
>>> pd.Index([1, 3, 2]).is_monotonic_increasing
False

################################################################################
################################## Validation ##################################
################################################################################

1 Errors found:
        No extended summary found

```

</details>

`Index.is_monotonic_decreasing`

<details>
<summary>output of  scripts/validate_docstrings.py</summary>

```

################################################################################
############### Docstring (pandas.Index.is_monotonic_decreasing) ###############
################################################################################

Return a boolean if the values are equal or decreasing.

Returns
-------
bool

See Also
--------
Index.is_monotonic_increasing : Check if the values are equal or increasing.

Examples
--------
>>> pd.Index([3, 2, 1]).is_monotonic_decreasing
True
>>> pd.Index([3, 2, 2]).is_monotonic_decreasing
True
>>> pd.Index([3, 1, 2]).is_monotonic_decreasing
False

################################################################################
################################## Validation ##################################
################################################################################

1 Errors found:
        No extended summary found
```

</details>

`Index.hasnans`

<details>
<summary>output of  scripts/validate_docstrings.py</summary>

```

################################################################################
####################### Docstring (pandas.Index.hasnans) #######################
################################################################################

Return True if there are any NaNs.

Enables various performance speedups.

Returns
-------
bool

################################################################################
################################## Validation ##################################
################################################################################

2 Errors found:
        See Also section not found
        No examples section found


```

</details>

`Index.has_duplicates`

<details>
<summary>output of  scripts/validate_docstrings.py</summary>

```

################################################################################
################### Docstring (pandas.Index.has_duplicates)  ###################
################################################################################

Check if the Index has duplicate values.

Returns
-------
bool
    Whether or not the Index has duplicate values.

See Also
--------
Index.is_unique : Inverse method that checks if it has unique values.

Examples
--------
>>> idx = pd.Index([1, 5, 7, 7])
>>> idx.has_duplicates
True

>>> idx = pd.Index([1, 5, 7])
>>> idx.has_duplicates
False

>>> idx = pd.Index(["Watermelon", "Orange", "Apple",
...                 "Watermelon"]).astype("category")
>>> idx.has_duplicates
True

>>> idx = pd.Index(["Orange", "Apple",
...                 "Watermelon"]).astype("category")
>>> idx.has_duplicates
False

################################################################################
################################## Validation ##################################
################################################################################

1 Errors found:
        No extended summary found


```
</details>

`Index.is_unique`

<details>
<summary>output of  scripts/validate_docstrings.py</summary>

```

################################################################################
###################### Docstring (pandas.Index.is_unique) ######################
################################################################################

Return if the index has unique values.

Returns
-------
bool

See Also
--------
Index.has_duplicates : Inverse method that checks if it has duplicate values.

Examples
--------
>>> idx = pd.Index([1, 5, 7, 7])
>>> idx.is_unique
False

>>> idx = pd.Index([1, 5, 7])
>>> idx.is_unique
True

>>> idx = pd.Index(["Watermelon", "Orange", "Apple",
...                 "Watermelon"]).astype("category")
>>> idx.is_unique
False

>>> idx = pd.Index(["Orange", "Apple",
...                 "Watermelon"]).astype("category")
>>> idx.is_unique
True

################################################################################
################################## Validation ##################################
################################################################################

1 Errors found:
        No extended summary found

```

</details>

According to `test_hasnans_uncached_for_series` you will need to ensure `Series.hasnans` has the same docstring as `Index.hasnans` @mroeschke
now all checks have passed. Thank you! Thanks @abonte 