sort_index changes order of rows
Since version 0.14 `sort_index` does some rearangment of the ordering of rows:

```
X = pd.DataFrame({'a': range(17), 'b': [1] * 17})
X.sort_index(by=['b'], inplace=True)
```

results in:

```
     a  b
0    0  1
14  14  1
13  13  1
12  12  1
11  11  1
10  10  1
9    9  1
15  15  1
8    8  1
6    6  1
5    5  1
4    4  1
3    3  1
2    2  1
1    1  1
7    7  1
16  16  1
```

This seems only to be the case if the length of the dataframe is longer then 16 rows (therefor the lenghty example). If you execute `X.sort_index(by=['b'], inplace=True)` again you will have the dataframe in the previous order. In version 0.13.1 the ordering of the rows was untouched, as I would expect. Is there a reason for changing the behaviour (couldn't find anything in the change logs) or is this a bug?
