TYP: annotate _data
NB: this does induce a small behavior change in that `Index` will not have a `_data` attribute until `__init__/__new__`.

I found in #29561 that getting `_data` annotated is necessary before we can annotate most of `core.indexes`.

I'm also not sure what to do about MultiIndex, suggestions welcome.
lgtm. @simonjayhawkins @WillAyd  thanks @jbrockmendel 