BUG: initialize DatetimeIndex with array of strings (#4229)

Possibly a fix for #4229.

The rationale is that an array of strings should be handled in the same way as a list of strings (after applying ``np.asarray(list)``), and I supposed that the list was handling the timezone correctly.

--

More in detail:

- handling of the list of strings: https://github.com/pydata/pandas/blob/master/pandas/tseries/index.py#L196 => returning ``data``
- handling of an array of strings: https://github.com/pydata/pandas/blob/master/pandas/tseries/index.py#L211 =>  returning directly ``subarr``

Because in the case of an array ``subarr`` is set as a DatetimeIndex (instead of as ``.values`` attribute of it => array of datetime64), the array is not localized to UTC (https://github.com/pydata/pandas/blob/master/pandas/tseries/index.py#L249) but assumed to be UTC. So, in fact, the ``tz`` keyword is ignored.

--

Something else: it is not completely clear what the ``tz`` keyword is supposed to do (it is not documented in the DatetimeIndex docstring). But I assumed it is to say that the given values to DatetimeIndex are in that timezone (and so the behaviour with a list is correct). However, it is also a little bit strange that eg ``to_datetime`` has not such of a keyword then.


PS: the PR is not ready (I want to add some tests, release notes, and there is too much whitespace in the commit), but I just wanted to submit it already to see if this makes sense.