API: Added axis to take
- [x] closes #20932 
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

One thing that's worrisome here: for N-D arrays, the `fill_value` argument is set for each element. In the case of IPArray, this is fine, since my storage NA-value is (0, 0), so I would pass `fill_value=0`. But in general, when people are using an N-D array to back a 1-D column, that won't necessarily work. But at that point, maybe we recommend people implement take on their own.
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=h1) Report
> Merging [#20999](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/6d5d701566615b736a6c11b369bb5ab53176600c?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/20999/graphs/tree.svg?token=eZ4WkYLtcO&src=pr&width=650&height=150)](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #20999   +/-   ##
=======================================
  Coverage   91.82%   91.82%           
=======================================
  Files         153      153           
  Lines       49491    49491           
=======================================
  Hits        45446    45446           
  Misses       4045     4045
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.22% <100%> (ø)` | :arrow_up: |
| #single | `41.85% <66.66%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/algorithms.py](https://codecov.io/gh/pandas-dev/pandas/pull/20999/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYWxnb3JpdGhtcy5weQ==) | `94.5% <100%> (ø)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=footer). Last update [6d5d701...82bc8c9](https://codecov.io/gh/pandas-dev/pandas/pull/20999?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 lgtm. thanks @TomAugspurger 