ENH: support monotonic_decreasing on rolling
Example:

```python
import pandas as pd

index = [
    pd.Timestamp('20130101 09:00:00'),
    pd.Timestamp('20130101 09:00:02'),
    pd.Timestamp('20130101 09:00:03'),
    pd.Timestamp('20130101 09:00:05'),
    pd.Timestamp('20130101 09:00:06')
]

df = pd.DataFrame({'price': [3, 4, 4, 2, 1]}, index=reversed(index))
df.rolling('2s').min()
```
#### Problem description

I'm trying to work with time series data frames in reversed order. It seems pandas is failing due to `index must be monotonic`, although the index is clearly mononotonic decreasing.

**Note:** [This stackoverflow answer](https://stackoverflow.com/a/46101574/2487609) seems like a workaround

The error raised:
<details>

```
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-2-77eb98350c02> in <module>()
----> 1 df.rolling('1s').mean()

~/.local/share/virtualenvs/src-l39fhq8N/lib/python3.6/site-packages/pandas/core/generic.py in rolling(self, window, min_periods, freq, center, win_type, on, axis, closed)
   7065                                    min_periods=min_periods, freq=freq,
   7066                                    center=center, win_type=win_type,
-> 7067                                    on=on, axis=axis, closed=closed)
   7068 
   7069         cls.rolling = rolling

~/.local/share/virtualenvs/src-l39fhq8N/lib/python3.6/site-packages/pandas/core/window.py in rolling(obj, win_type, **kwds)
   2067         return Window(obj, win_type=win_type, **kwds)
   2068 
-> 2069     return Rolling(obj, **kwds)
   2070 
   2071 

~/.local/share/virtualenvs/src-l39fhq8N/lib/python3.6/site-packages/pandas/core/window.py in __init__(self, obj, window, min_periods, freq, center, win_type, axis, on, closed, **kwargs)
     84         self.win_freq = None
     85         self.axis = obj._get_axis_number(axis) if axis is not None else None
---> 86         self.validate()
     87 
     88     @property

~/.local/share/virtualenvs/src-l39fhq8N/lib/python3.6/site-packages/pandas/core/window.py in validate(self)
   1102                                          timedelta))):
   1103 
-> 1104             self._validate_monotonic()
   1105             freq = self._validate_freq()
   1106 

~/.local/share/virtualenvs/src-l39fhq8N/lib/python3.6/site-packages/pandas/core/window.py in _validate_monotonic(self)
   1134             formatted = self.on or 'index'
   1135             raise ValueError("{0} must be "
-> 1136                              "monotonic".format(formatted))
   1137 
   1138     def _validate_freq(self):

ValueError: index must be monotonic
```
</details>

#### Expected Output
The expected output should be that the `min` should be calculated from the `2s` previous samples

```
                     price
2013-01-01 09:00:00    3.0
2013-01-01 09:00:02    4.0
2013-01-01 09:00:03    2.0
2013-01-01 09:00:05    1.0
2013-01-01 09:00:06    1.0
```

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

<details>

```
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.1.final.0
python-bits: 64
OS: Linux
OS-release: 4.10.0-42-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8

pandas: 0.22.0
pytest: 3.2.5
pip: 9.0.1
setuptools: 38.2.4
Cython: None
numpy: 1.13.3
scipy: 1.0.0
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: None
patsy: None
dateutil: 2.6.1
pytz: 2017.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
sqlalchemy: 1.1.15
pymysql: None
psycopg2: 2.7.3.2 (dt dec pq3 ext lo64)
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
```
</details>
