PERF: add shortcut to Timedelta constructor
WIP until #30676 gets merged.
- [ ] second half of #30543
- [X] tests added 1 / passed 1
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

This implements a shortcut in the Timedelta constructor to cut down on processing if Timedelta is passed. We still need to check if any other args are passed. Then, if a Timedelta with no other kwargs was passed, we just return that same Timedelta.
A test is added to check that the Timedelta is still the same object.
Same as in the Timestamp shortcut, we could hoist the shortcut to the very top of `__new__`, but I don't think that's necessary. Putting it before error checks looks messy to me, and the performance improvement in any real code would be miniscule (as casting the object into its own class is unlikely to be a significant part of a program). When running `timeit`, the option with the shortcut at the very top provided about a 20% performance boost. What kind of performance gain does this show? @WillAyd About 20% on 10 000 000 iterations. thanks @AlexKirko 