Typeinterval part1
I would like to add `pandas/_libs/interval.pyi`,  and I have a tentative file for that, but when I started to do that, it uncovered issues in our existing typing, because currently, `mypy` sees `Interval` as `Unknown`, which allows a bunch of things to pass.

So this PR addresses that issue.  The way to see the problems that were fixed by this PR is to change in `_typing.pyi`:
```python
PandasScalar = Union["Period", "Timestamp", "Timedelta", "Interval"]
```
TO
```python
PandasScalar = Union["Period", "Timestamp", "Timedelta"]  # , "Interval"]
```

A followup PR will add `pandas/_libs/interval.pyi` and make changes to handle that.
Shameless plug :) PR based on the Microsoft-stubs: #44922 > Shameless plug :) PR based on the Microsoft-stubs: #44922

Ugh.  I wrote that stub in the MS stubs, which is why I tried to then convert it over to use in pandas.   Took me a long time to get this far!

I guess I should close this?  @twoertwein  ?

 Sorry @Dr-Irv getting interval.py right is definitely a mess.

Let's keep this PR open in case my PR is not the preferred solution. > Sorry @Dr-Irv getting interval.py right is definitely a mess.
> 
> Let's keep this PR open in case my PR is not the preferred solution.

If we go this direction, then I still have to create a PR for the `interval.pyi` part.  This "part 1" PR is just to fix up things that are a problem because `Interval` is undefined. > This "part 1" PR is just to fix up things that are a problem because `Interval` is undefined.

IMO baby steps is definitely OK with typing. > > Shameless plug :) PR based on the Microsoft-stubs: #44922
> 
> Ugh. I wrote that stub in the MS stubs, which is why I tried to then convert it over to use in pandas. Took me a long time to get this far!
> 
> I guess I should close this? @twoertwein ?

@jbrockmendel created nearly all the stubs for the cython code last year and also created a stub for libinterval #41059

> it uncovered issues in our existing typing, because currently, `mypy` sees `Interval` as `Unknown`, which allows a bunch of things to pass.

yep. from https://github.com/pandas-dev/pandas/pull/41059#issue-863084468

> This one is pretty ugly.
 thanks @Dr-Irv 