DOC: Update documentation for using natural sort with `sort_values`
The previous documentation recommended to use the lambda function `lambda x: np.argsort(index_natsorted(x))` as a key argument to `sort_values`. However, while this works when sorting on a single column, it causes incorrect sorting when sorting multiple columns with duplicated values. For example:
```
>>> df = pd.DataFrame(
...     {
...         "hours": ["0hr", "128hr", "0hr", "64hr", "64hr", "128hr"],
...         "mins": ["10mins", "40mins", "40mins", "40mins", "10mins", "10mins"],
...         "value": [10, 20, 30, 40, 50, 60],
...     }
... )
>>> df
   hours    mins  value
0    0hr  10mins     10
1  128hr  40mins     20
2    0hr  40mins     30
3   64hr  40mins     40
4   64hr  10mins     50
5  128hr  10mins     60
>>> from natsort import index_natsorted
>>> df.sort_values(
...     by=["hours", "mins"],
...     key=lambda x: np.argsort(index_natsorted(x)),
... )
   hours    mins  value
0    0hr  10mins     10
2    0hr  40mins     30
3   64hr  40mins     40
4   64hr  10mins     50
1  128hr  40mins     20
5  128hr  10mins     60
```
Note how the `hours` column is sorted correctly, but the `mins` column isn't.

This PR updates the documentation to use `natsort_keygen`, which is robust to sorting on multiple columns.

Commit 2: Removes the calls to `natsort_keygen()` in the example code as the output generated was too long and doctest didn't seem to like having the tuple formatted.
Thanks @marc-jones 