Inconsistency/bug when selecting from a data-frame using an unsorted DatetimeIndex
#### The following is a MWE of the error:

```python
# Create an index
from_, to_ = pd.to_datetime(['2016-01-01', '2016-06-01'])
index = pd.date_range(from_, to_, freq='1min')
hour = pd.Timedelta('1h')

# Disorder the index:
index = pd.to_datetime(np.random.choice(index, len(index), replace=False))

# Create a DF using that index
df = pd.DataFrame(np.arange(2*len(index)).reshape(-1, 2), index = index)

# Now, select date-range:
df[from_:to_]                      # ----> Fine! (Unordered)
df[df.index[2]:to_]                # ----> Fine! (Unordered)
df[from_:to_ + hour]               # ----> KeyError: Timestamp('2016-06-01 01:00:00')
df[str(from_):str(to_ + hour)]     # ----> Fine  (Unordered)
df.sort_index()[from_:to_ + hour]  # ----> Fine  (Ordered)

```
#### Problem description

There are quite a few problems with this behavior:
1. It's counter-intuitive that the query will succeed when such slight changes cause differences in behavior.
1. The error-message on the 3nd case is very uninformative, considering what has to be done to fix this problem (sort/convert to string).
1. How come this query works when using items that are already within the index as ranges, but not when using external datetimes?
1. How come using the internal datatype `Timestamp` yields worse results compared to using the external type (`str`)?

#### 

<Details>

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.6.8.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.0.0-37-generic
machine          : x86_64
processor        : x86_64
byteorder        : little
LC_ALL           : None
LANG             : en_US.UTF-8
LOCALE           : en_US.UTF-8

pandas           : 0.25.3
numpy            : 1.17.1
pytz             : 2019.3
dateutil         : 2.8.1
pip              : 19.3.1
setuptools       : 43.0.0
Cython           : None
pytest           : 5.3.2
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.10.3
IPython          : 7.8.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : None
matplotlib       : 3.1.1
numexpr          : 2.7.0
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : 1.3.1
sqlalchemy       : None
tables           : 3.6.1
xarray           : None
xlrd             : 1.2.0
xlwt             : None
xlsxwriter       : None


</Details``>
