ENH: add Index.is_monotonic_decreasing and Index.is_monotonic_increasing

Index.is_monotonic will have a performance degradation (still O(n) time) in
cases where the Index is decreasing monotonic. If necessary, we could work
around this, but I think we can probably get away with this because the fall-
back options are much slower and in many cases (e.g., for slice indexing) the
next thing we'll want to know is if it's decreasing monotonic, anyways.

see GH7860
ENH: support monotonic decreasing indexes in Index.slice_locs

also: NaN and NaT imply not monotonic
Merge pull request #8680 from shoyer/reversed-monotonic-slices

ENH: slicing with decreasing monotonic indexes