REF: Move value_counts, take, factorize to ArrowExtensionArray
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).


These are all methods for which we're effectively just dispatching to pyarrow's native implementations? > These are all methods for which we're effectively just dispatching to pyarrow's native implementations?

Correct, effectively dispatches to `ChunkArray.value_counts` and `pc.is_in` `isin` needs better thought around dtype. Probably need to create an `ArrowExtensionType` or something As ArrowExtensionArray becomes more of The Default, i think it becomes increasingly important to address #45419.  Is `__setitem__` (or other setitem-like ops) going to Break The World?