BUG: Retain timezone dtype with cut and qcut
State: closed

- [x] closes #19872
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Timezone dtypes were getting lost as the `_preprocess_for_cut` function called `np.asarray` on all incomming data. I added an additional check that the input array is 1D as stated in the docs of `cut` and `qcut`. 

Labels:
name: Bug
name: Reshaping
description: Concat, Merge/Join, Stack/Unstack, Explode
name: Timezones
description: Timezone data dtype

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19890?src=pr&el=h1) Report
> Merging [#19890](https://codecov.io/gh/pandas-dev/pandas/pull/19890?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/63ce781c9ebfb7d308adb3be62755e2bdf6c0d8e?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `100%`.

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

```diff
@@            Coverage Diff             @@
##           master   #19890      +/-   ##
==========================================
+ Coverage   91.71%   91.72%   +<.01%     
==========================================
  Files         150      150              
  Lines       49112    49122      +10     
==========================================
+ Hits        45045    45057      +12     
+ Misses       4067     4065       -2
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.1% <100%> (ø)` | :arrow_up: |
| #single | `41.86% <5.88%> (-0.01%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/19890?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/reshape/tile.py](https://codecov.io/gh/pandas-dev/pandas/pull/19890/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvcmVzaGFwZS90aWxlLnB5) | `93.37% <100%> (+0.42%)` | :arrow_up: |
| [pandas/util/testing.py](https://codecov.io/gh/pandas-dev/pandas/pull/19890/diff?src=pr&el=tree#diff-cGFuZGFzL3V0aWwvdGVzdGluZy5weQ==) | `83.85% <0%> (+0.2%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19890?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/19890?src=pr&el=footer). Last update [63ce781...23f0184](https://codecov.io/gh/pandas-dev/pandas/pull/19890?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Hmm the CIs seem to fail on the test `TestCut.test_single_quantile`; however, this test passes on my local environment...

```
(pandas-dev) mroeschke@MR-ThinkPad:/mnt/c/Users/Matt Roeschke/Projects/pandas-mroeschke$ pytest pandas/tests/reshape/test_tile.py::TestCut::test_single_quantile
========================================================================== test session starts ==========================================================================
platform linux -- Python 3.6.4, pytest-3.3.2, py-1.5.2, pluggy-0.6.0
rootdir: /mnt/c/Users/Matt Roeschke/Projects/pandas-mroeschke, inifile: setup.cfg
plugins: xdist-1.20.1, forked-0.2, cov-2.5.1, hypothesis-3.38.5
collected 1 item

pandas/tests/reshape/test_tile.py .                                                                                                                               [100%]

======================================================================= 1 passed in 0.49 seconds ========================================================================
``` 
those builds are for older numpy versions
thanks @mroeschke nice patch!