PERF: speed up factorization of categoricals
Factorizing Categoricals/CategoricalIndexes in ``_factorize_from_iterable`` is unneccesary slow, because a unneeded CategoricalIndex is created. This fixes that.

```python
>>> n = 1_000_000
>>> c = pd.Categorical(list('a' * n) + (['bcd'] * n), categories=['a', 'bcd'])
>>> %timeit pd.core.arrays.categorical._factorize_from_iterable(c)
120 µs  # master
2.84 µs  # this PR
```

Hello @topper-123! Thanks for submitting the PR.

 - There are no PEP8 issues in the file [`pandas/core/arrays/categorical.py`](https://github.com/topper-123/pandas/blob/33f0942d1193aa512aba41e8fe73dca4751830e4/pandas/core/arrays/categorical.py) !

 No, not for this specifically. This is also marked a private method, so it stands for some reason that it isn't in the ASV benchmarks. I don't really see why it should be marked private though.

I could make it a public method and create some asv tests.

BTW, I've had trouble archieving consistent result from ASV because I'm using windows (see https://github.com/airspeed-velocity/asv/issues/775), so not sure if my ASV tests will be very stable. this is private but called by a lot of functions as this is used in MutiInddx construction  Had a unexpected blocker. Closing until I've got a usable solution.