Fixes for #16896(TimedeltaIndex indexing regression for strings)
Fixed a regression for indexing with a string with a ``TimedeltaIndex`` (#16896)

I am not a fan of the catch all except, but there is no guarantee in `_get_dtype_type`. As part of this PR, we can ensure that all type checks return True/False. `_get_dtype_type` should probably return a type or a TypeError... Nothing else. Let me know if you want to do that as well.

 - [x] closes #16896
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master --name-only -- '*.py' | flake8 --diff`` (On Windows, ``git diff upstream/master -u -- "*.py" | flake8 --diff`` might work as an alternative.)
 - [x] whatsnew entry
