TYP/CLN: factorize_from_iterable(s)
`factorize_from_iterable` didn't return an `CategoricalIndex`, if its input was a categorical-like. Instead it returned a plain `Categorical`.  This PR fixes that + adds return types.

Also makes the return value for `factorize_from_iterables` clearer and easier to read.

thanks @topper-123 