BUG: DataFrame.loc[i:j] works differently for DatetimeIndex
This code all "works," but in a surprising way:

```
import pandas as pd
t0 = 1234567890123400000
df1 = pd.DataFrame(index=pd.DatetimeIndex([t0, t0 + 1000, t0 + 2000, t0 + 3000]))
df2 = pd.DataFrame(index=range(4))
df1.loc[:2, 'a'] = np.arange(2)
df2.loc[:2, 'a'] = np.arange(3)
```

We create `df1` with a DatetimeIndex and `df2` with an integer index.  We then create a new column `a` in each, using `.loc[]` with an integer slice.  With `df1` we get the intuitive, normal Python slice behavior where `[:2]` means "the first 2 elements", whereas with `df2` we get the bizarre&mdash;but [documented](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html)&mdash;`DataFrame.loc` slice behavior where `[:2]` means "elements up to index 2, inclusive."

I don't see why the type of index the DataFrame has should affect the semantics of slicing with `.loc[]`.  I happen to think the exclusive-end behavior is correct in all cases, though apparently Pandas has decided (or at least documented) that `.loc[]` slicing is inclusive (in which case the DatetimeIndex case looks like a bug).

Also note that trying to "read" `df1.loc[:2, 'a']` (e.g. to print it) fails, saying:

```
TypeError: cannot do slice indexing on <class 'pandas.tseries.index.DatetimeIndex'>
    with these indexers [2] of <class 'int'>
```

It's sort of strange that you can assign to this slice but not read from it.

I'm using Pandas 0.18.1.
