BUG: Slicing on non-monotonic DatetimeIndex inconsistencies 
Looked for this bug in the opened issues, but couldn't find it. I work with v.0.25.3, but checked that this also occurs in v.1.0.4.

```python
ser = pd.Series([1, 2, 3], pd.to_datetime(['2010-01-01', '2009-01-01', '2011-01-01']))

# Case 1:
ser['2009-01-01':]
# Out:
# 2009-01-01    2
# 2011-01-01    3
# dtype: int64

# Case 2:
ser['2008-01-01':]
# Out: 
# 2010-01-01    1
# 2009-01-01    2
# 2011-01-01    3
# dtype: int64

# Case 3:
ser[pd.Timestamp('2008-01-01'):]
# Out: 
# KeyError: Timestamp('2008-01-01 00:00:00')
```

#### Problem description

As you can see in the above examples, there are multiple inconsistencies and errors here:
1. The inconsistency in output between cases 2 & 3 (that's perhaps the worst).
2. The irrelevant (and so-very frustrating) error-message in case 3
3. The strange behavior in case 1 (it should've also included the first item).

#### Expected Output

For all three cases:
```python
# 2010-01-01    1
# 2009-01-01    2
# 2011-01-01    3
# dtype: int64
```

If not, at the very least you should do the following:
1. Treat string-timestamps and `pd.Timestamp`s in the same way (perhaps by overriding the slicing in the `DatetimeIndex` to cast strings to `pd.Timestamp`s right away).
2. Give an indicative error message. Could be something like ``"KeyError: Can not perform inexact slicing on an unordered `DatetimeIndex`"``.
3. Show a warning upon slicing that results may be inconsistent due to lack of monotonicity

I also want to add that you could implement an unordered `DatetimeIndex` that will return the expected output I wrote above by holding and ordered index in the background that holds the relative indices (e.g. in the above example ``OrderedDict({'2009-01-01': 1, '2010-01-01': 0, '2011-01-01': 2})``), and all timestamp-related-slicing will be performed on it.

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

<details>

INSTALLED VERSIONS
------------------
commit           : None
python           : 3.6.9.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.3.0-53-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.18.2
pytz             : 2018.3
dateutil         : 2.6.1
pip              : 20.1.1
setuptools       : 45.2.0
Cython           : None
pytest           : 5.3.5
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : 4.5.0
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.11.1
IPython          : 7.8.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : 4.5.0
matplotlib       : 3.1.1
numexpr          : 2.7.1
odfpy            : None
openpyxl         : 3.0.3
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : 1.4.1
sqlalchemy       : None
tables           : 3.6.1
xarray           : None
xlrd             : 1.2.0
xlwt             : None
xlsxwriter       : None

</details>
