[BUG] TimedeltaIndex intersects with decreasing TimedeltaIndex
-  closes #17391
-  tests added (two tests taken from #22114)
-  passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
-  whatsnew entry

Beside the bug of decreasing TimedeltaIndex, this PR also solve the following
```
In [2]: idx1 = pd.to_timedelta(range(1,20), unit='s')                           

In [3]: idx2 = pd.to_timedelta((1,2,3,4,5,6,7,8,9,10,20), unit='s')             

In [4]: result = idx1.intersection(idx2)                                        

In [5]: result                                                                  
Out[5]: 
TimedeltaIndex(['00:00:01', '00:00:02', '00:00:03', '00:00:04', '00:00:05',
                '00:00:06', '00:00:07', '00:00:08', '00:00:09', '00:00:10',
                '00:00:11', '00:00:12', '00:00:13', '00:00:14', '00:00:15',
                '00:00:16', '00:00:17', '00:00:18', '00:00:19'],
               dtype='timedelta64[ns]', freq=None)

```
The above is also added into the tests.