DataFrame constructor with ndarray of Timestamp objects fails with AssertionError
What're the expected dtypes here? object or datetimetz?

```python
In [27]: arr = np.array([[pd.Timestamp('2000', tz='UTC')] * 2, [pd.Timestamp('2000', tz='UTC')] * 2])

In [28]: pd.DataFrame(arr, index=[0, 1])
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-28-cf002d5469f3> in <module>
----> 1 pd.DataFrame(arr, index=[0, 1])

~/sandbox/pandas/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
    418             else:
    419                 mgr = self._init_ndarray(data, index, columns, dtype=dtype,
--> 420                                          copy=copy)
    421
    422         # For data is list-like, or Iterable (will consume into list)

~/sandbox/pandas/pandas/core/frame.py in _init_ndarray(self, values, index, columns, dtype, copy)
    577             values = maybe_infer_to_datetimelike(values)
    578
--> 579         return create_block_manager_from_blocks([values], [columns, index])
    580
    581     # ----------------------------------------------------------------------

~/sandbox/pandas/pandas/core/internals/managers.py in create_block_manager_from_blocks(blocks, axes)
   1639                                      placement=slice(0, len(axes[0])))]
   1640
-> 1641         mgr = BlockManager(blocks, axes)
   1642         mgr._consolidate_inplace()
   1643         return mgr

~/sandbox/pandas/pandas/core/internals/managers.py in __init__(self, blocks, axes, do_integrity_check)
    108                         'Number of Block dimensions ({block}) must equal '
    109                         'number of axes ({self})'.format(block=block.ndim,
--> 110                                                          self=self.ndim))
    111
    112         if do_integrity_check:

AssertionError: Number of Block dimensions (1) must equal number of axes (2)

```

Note that for a 1-D array, we handle things fine, and return a DataFrame with a datetimetz column.

```python
In [29]: arr1 = np.array([[pd.Timestamp('2000', tz='UTC')], [pd.Timestamp('2000', tz='UTC')]])

In [31]: arr1.shape
Out[31]: (2, 1)

In [32]: pd.DataFrame(arr1)
Out[32]:
                          0
0 2000-01-01 00:00:00+00:00
1 2000-01-01 00:00:00+00:00

In [33]: pd.DataFrame(arr1).dtypes
Out[33]:
0    datetime64[ns, UTC]
dtype: object

```