API: allow step!=1 slice with IntervalIndex
- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

See discussion https://github.com/pandas-dev/pandas/pull/16386#discussion_r374807689

cc @jorisvandenbossche @jschendel 
I suppose should add a whatsnew bug fix entry. > what would you expect for [...] `s[1.5:9.5:2]` [...] I think that is less clear, which might be the reason it was disallowed initially.

I agree that is less obvious, as that is not positional. > I agree that is less obvious, as that is not positional.

So let's not allow that?

 > So let's not allow that?

OK I see, I thought that the float-slice would have been disallowed somewhere else, but evidently not.  So yes, this needs to be updated to restore that.
 @jorisvandenbossche double-checking: suppose we get integer sllce that is valid for either loc or iloc:

```
import pandas as pd
import numpy as np

ser = pd.Series(np.arange(5), pd.IntervalIndex.from_breaks(np.arange(2, 14, 2))) 
key = slice(3, 6)

ser[key]
ser.loc[key]
ser.iloc[key]

key2 = 3
ser[key2]
ser.loc[key2]
ser.iloc[key2]
```

For the slice we treat the ambiguous `__getitem__` key as positional, while for the int we treat it as a label.  That's on purpose, right? Closing to clear the queue (in particular #31786 should happen before this), will revisit can you rebase. look ok to me. @jschendel  rebased+green can you rebase.  rebased+green thanks 2 followups:

1) @jorisvandenbossche comment about having start/stop as intervals, pls create an issue
2) does this need an example in the docs?