Nanosecond resolution in time indexing
I have a dataframe with `DatetimeIndex`. I note the following difference of behavior in `0.24.2` against `0.25.0`. 

For equivalent Timestamp indices, `0.25.0` returns an empty Series, while `0.24.2` returns one value. 

```python
print(start)
Timestamp('2019-06-24 16:56:11.200999936')
print(stop)
Timestamp('2019-06-24 16:56:11.200999936')

# pandas 0.24.2
df2.loc[start:stop, ["time"]]
                        time
time
2019-06-24 16:56:11.201  NaT

# pandas 0.25
df2.loc[start:stop, "time"]
Series([], Name: time, dtype: datetime64[ns])
```

I expect this is actually a good thing as before, indicated above, time indexes didn't respect upper-bound exclusivity and now they do. 

### Question 1

I looked through release notes for `0.25.0` and didn't find anything mentioning this particular behavior change. Is this upper-bound exclusivity expected for DatetimeIndex frame slicing?

### Question 2

Sometimes I want to ensure a slice is upper-bound inclusive. To adapt, I'm attempting to add a nanosecond to the `stop` variable above. 

```python
ipdb> df2.loc[start:stop + pd.Timedelta(nanoseconds=1), ["time"]]
Empty DataFrame
Columns: [time]
Index: []
```
But this returns an empty dataframe. It doesn't produce the expected behavior until I set `nanoseconds=70`. 

Is this actually expected? What is the mechanism for producing a distinct Timestamp slice? 