ValueError when slicing dataframe with duplicates datetime index
#### Code Sample, a copy-pastable example if possible

```python
a = pd.Series([1, 2], index=[pd.Timestamp('2019-11-26'), pd.Timestamp('2019-11-26')])
a.loc[pd.date_range(pd.Timestamp('2019-11-26'), pd.Timestamp('2019-11-27'))]
```

With error:
```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\arrays\datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object)
   1978         try:
-> 1979             values, tz_parsed = conversion.datetime_to_datetime64(data)
   1980             # If tzaware, these values represent unix timestamps, so we

pandas\_libs\tslibs\conversion.pyx in pandas._libs.tslibs.conversion.datetime_to_datetime64()

TypeError: Unrecognized value type: <class 'int'>

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-64-649353f35dc8> in <module>
----> 1 a.loc[pd.date_range(pd.Timestamp('2019-11-26'), pd.Timestamp('2019-11-27'))]

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key)
   1422 
   1423             maybe_callable = com.apply_if_callable(key, self.obj)
-> 1424             return self._getitem_axis(maybe_callable, axis=axis)
   1425 
   1426     def _is_scalar_access(self, key: Tuple):

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexing.py in _getitem_axis(self, key, axis)
   1837                     raise ValueError("Cannot index with multidimensional key")
   1838 
-> 1839                 return self._getitem_iterable(key, axis=axis)
   1840 
   1841             # nested tuple slicing

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexing.py in _getitem_iterable(self, key, axis)
   1131         else:
   1132             # A collection of keys
-> 1133             keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False)
   1134             return self.obj._reindex_with_indexers(
   1135                 {axis: [keyarr, indexer]}, copy=True, allow_dups=True

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexing.py in _get_listlike_indexer(self, key, axis, raise_missing)
   1087             keyarr = ax.reindex(keyarr)[0]
   1088         else:
-> 1089             keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr)
   1090 
   1091         self._validate_read_indexer(

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexes\base.py in _reindex_non_unique(self, target)
   3478                 new_indexer[~check] = -1
   3479 
-> 3480         new_index = self._shallow_copy_with_infer(new_labels, freq=None)
   3481         return new_index, indexer, new_indexer
   3482 

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexes\base.py in _shallow_copy_with_infer(self, values, **kwargs)
    673             except (TypeError, ValueError):
    674                 pass
--> 675         return Index(values, **attributes)
    676 
    677     def _update_inplace(self, result, **kwargs):

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexes\base.py in __new__(cls, data, dtype, copy, name, fastpath, tupleize_cols, **kwargs)
    344             else:
    345                 result = DatetimeIndex(
--> 346                     data, copy=copy, name=name, dtype=dtype, **kwargs
    347                 )
    348                 return result

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\indexes\datetimes.py in __new__(cls, data, freq, start, end, periods, tz, normalize, closed, ambiguous, dayfirst, yearfirst, dtype, copy, name, verify_integrity)
    332             yearfirst=yearfirst,
    333             ambiguous=ambiguous,
--> 334             int_as_wall_time=True,
    335         )
    336 

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\arrays\datetimes.py in _from_sequence(cls, data, dtype, copy, tz, freq, dayfirst, yearfirst, ambiguous, int_as_wall_time)
    444             yearfirst=yearfirst,
    445             ambiguous=ambiguous,
--> 446             int_as_wall_time=int_as_wall_time,
    447         )
    448 

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\arrays\datetimes.py in sequence_to_dt64ns(data, dtype, copy, tz, dayfirst, yearfirst, ambiguous, int_as_wall_time)
   1864             #  or M8[ns] to denote wall times
   1865             data, inferred_tz = objects_to_datetime64ns(
-> 1866                 data, dayfirst=dayfirst, yearfirst=yearfirst
   1867             )
   1868             tz = maybe_infer_tz(tz, inferred_tz)

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\arrays\datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object)
   1982             return values.view("i8"), tz_parsed
   1983         except (ValueError, TypeError):
-> 1984             raise e
   1985 
   1986     if tz_parsed is not None:

~\AppData\Local\Continuum\anaconda3\envs\latest\lib\site-packages\pandas\core\arrays\datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object)
   1973             dayfirst=dayfirst,
   1974             yearfirst=yearfirst,
-> 1975             require_iso8601=require_iso8601,
   1976         )
   1977     except ValueError as e:

pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime()

pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime()

ValueError: mixed datetimes and integers in passed array
```

#### Problem description

The error message is not helpful, as the index and slicing is done on datetime only. The error disappear if the duplicates are removed.

#### Expected Output

```
2019-11-26    1.0
2019-11-26    2.0
2019-11-27    NaN
Freq: D, dtype: float64
```

Or better error message if this is an unwanted behaviour on duplicates.

#### Output of ``pd.show_versions()``

<details>

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.7.4.final.0
python-bits      : 64
OS               : Windows
OS-release       : 10
machine          : AMD64
processor        : Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
byteorder        : little
LC_ALL           : None
LANG             : None
LOCALE           : None.None

pandas           : 0.25.1
numpy            : 1.16.4
pytz             : 2019.2
dateutil         : 2.8.0
pip              : 19.2.2
setuptools       : 41.0.1
Cython           : 0.29.13
pytest           : 5.1.2
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : 1.1.8
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.10.1
IPython          : 7.8.0
pandas_datareader: None
bs4              : None
bottleneck       : 1.2.1
fastparquet      : None
gcsfs            : None
lxml.etree       : None
matplotlib       : 3.1.1
numexpr          : None
odfpy            : None
openpyxl         : 2.6.2
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : 1.3.1
sqlalchemy       : 1.3.7
tables           : None
xarray           : 0.12.3
xlrd             : 1.2.0
xlwt             : None
xlsxwriter       : 1.1.8


</details>
