BUG: DatetimeIndex.where with timezone aware and timezone naive data not returning mixed result 
```
In [7]: pd.__version__
Out[7]: '0.24.0.dev0+639.gcff2bca3b.dirty'

In [8]:         fill_val = pd.Timestamp('2012-01-01', tz='US/Eastern')
   ...:
   ...:

In [9]:         values = pd.Index(pd.date_range(fill_val, periods=4))
   ...:

In [10]: values
Out[10]:
DatetimeIndex(['2012-01-01 00:00:00-05:00', '2012-01-02 00:00:00-05:00',
               '2012-01-03 00:00:00-05:00', '2012-01-04 00:00:00-05:00'],
              dtype='datetime64[ns, US/Eastern]', freq='D')

# The replace values coerced to tz-naive
In [11]: values.tz_localize(None).where(pd.Index([True, False, True, False]), values)
Out[11]:
DatetimeIndex(['2012-01-01 00:00:00', '2012-01-02 05:00:00',
               '2012-01-03 00:00:00', '2012-01-04 05:00:00'],
              dtype='datetime64[ns]', freq='D')

# The replace values coerced to tz-aware
In [12]: values.where(pd.Index([True, False, True, False]), values.tz_localize(None))
Out[12]:
DatetimeIndex(['2012-01-01 00:00:00-05:00', '2012-01-01 19:00:00-05:00',
               '2012-01-03 00:00:00-05:00', '2012-01-03 19:00:00-05:00'],
              dtype='datetime64[ns, US/Eastern]', freq='D')
```

The result should be coerced to `object` in order to preserve the tz-aware and tz-naive data.

```
In [13]: values_naive = values.tz_localize(None)

# Should be result for Out[12]
In [14]: pd.Index([values[0], values_naive[1], values[2], values_naive[3]], dtype=object)
Out[14]:
Index([2012-01-01 00:00:00-05:00,       2012-01-02 00:00:00,
       2012-01-03 00:00:00-05:00,       2012-01-04 00:00:00],
      dtype='object')
```