Makes NumericIndex constructor dtype aware
- [x] closes #29526
- [x] enables #29420
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
I added the what's new entry but I must admit I haven't yet managed to set up building docs in a performant way. I'll check that soon and let you know. The failing tast was [this](https://github.com/pandas-dev/pandas/blob/master/pandas/tests/indexes/test_numeric.py#L565). Now there are more of them :) Perhaps it's too late now, I'll take a fresh look over the weekend.

I had some questions as well...

2. `Index._coerce_to_ndarray()` has practically become `Index._check_types_and_coerce_to_ndarray()`. Does it make sense to make an issue/PR to split these?
3. The change I made is in the method of an abstract Index class. This method has effectively become a "numeric-only" method. However, CategoricalIndex also inherits from Index. Does it make sense to change the conditional added in 458c25e to reflect this, something like

```
# use _typ instead of inferred_type property since this method, if ever used, will be used before the instance exists
if cls._typ != 'categoricalindex' and lib.infer_dtype(data) == 'string':
``` Hello @oguzhanogreden! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:







There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2019-11-17 21:30:54 UTC Sorry about a bit of back and forth here.

Finally:

1. The solution depends on explicit passing of dtype.
2. @jschendel 's point about argument validation seems to be addressed centrally [here](https://github.com/pandas-dev/pandas/blob/master/pandas/core/dtypes/common.py#L1841). thanks @oguzhanogreden 