API/DEPR: Remove +/- as setops for Index (GH8227)
xref #13777, deprecations put in place in #8227
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/14127?src=pr) is 85.25% (diff: 100%)

> Merging [#14127](https://codecov.io/gh/pydata/pandas/pull/14127?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will decrease coverage by **<.01%**

``` diff
@@             master     #14127   diff @@
==========================================
  Files           139        139          
  Lines         50501      50495     -6   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
- Hits          43058      43051     -7   
- Misses         7443       7444     +1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [4488f18...dbcc655](https://codecov.io/gh/pydata/pandas/compare/4488f18076226894c0f07be67ee700663e32623e...dbcc655b46d4992f0f0e272268c90478fd392362?src=pr)
 @jorisvandenbossche we should do this for the RC as well.
 @jreback yep, as it is quite a substantial change (for people that ignored the warnings)

Is there a reason that we do not allow numeric ops for the base Index class? (eg `pd.Index(['a', 'b']` could have a clear meaning, just letting the objects determine whether an operation can be handled)

Because eg the `__add__` in the `Index` class could benefit from the machinery in `_add_numeric_methods_binary` (eg to ensure attributes like `name` are passed correctly. Something that is also not correct on current master)
 I think we don't allow numeric operations on Index as only possible one is **add** for string concat
nothing else makes sense

in general these r not well defined so no reason to allow
 I think we should let the objects in the Index decide whether the numeric operation is valid or not. This is the approach NumPy uses for object dtype. For example, one might put decimal objects in a pandas.Index.
 the numpy approach leads to lots of bugs and edge cases - constraining things somewhat to not allowing everything on everything is much more user friendly 

decimal objects in an Index are a disaster - should not be encouraged 
 @jorisvandenbossche some small comments, but otherwise lgtm. merge when ready.
