Fix typing for extension arrays and extension dtypes without isin and astype
Same as #39501 by removing changes related to `isin` and the overloads for `astype` and return type for `astype`

Per discussion with @simonjayhawkins  https://github.com/pandas-dev/pandas/pull/39501#issuecomment-798617105


@Dr-Irv I think we still need to reduce the size of this PR, so need to start breaking non controversial bits off so we can start merging some of this great work (i.e. changing typvars, the \_\_getitem__ overloads and maybe privatising registry need further input from others)  > @Dr-Irv I think we still need to reduce the size of this PR, so need to start breaking non controversial bits off so we can start merging some of this great work (i.e. changing typvars, the __getitem__ overloads and maybe privatising registry need further input from others)

OK, next commit will remove those three things, which were changing the `TypeVar` on `DatetimeLikeScalar`, removing the `__getitem__` overloads and the changing of `registry` to `_registry` @simonjayhawkins I believe I've addressed all your requests on this.  Anything else to do? Thanks @Dr-Irv for addressing the comments. I want to make another thorough pass before approving. @simonjayhawkins pinging you again on review of this. Thanks! @Dr-Irv can you resolve conflicts. > @Dr-Irv can you resolve conflicts.

@simonjayhawkins I've done this.  Note that with respect to what was in #41097, I changed the name of the `TypeVar` to be `ExtensionDtypeT` rather than `E` to follow convention that we use elsewhere.

Note that the way that I use `pyright` didn't pick that up because the example was from `CategoricalDtype` and I was only verifying the base extension types.
 Closing this as I've started making even smaller PRs and tracking status here: https://github.com/pandas-dev/pandas/pull/39501#issuecomment-798922245 in the comment from the original big PR 