API: A tuple passed to DataFame.sort_index will be interpreted as the levels of the index (GH4370)
closes #4370

```
In [3]: df = DataFrame({'one':[2,1,1,1],'two':[1,3,2,4],'three':[5,4,3,2]})

In [7]: df.columns = MultiIndex.from_tuples([('a','one'),('a','two'),('b','three')])

In [8]: df
Out[8]: 
     a           b
   one  two  three
0    2    5      1
1    1    4      3
2    1    3      2
3    1    2      4

[4 rows x 3 columns]
```

These are now equivalent. Used to be able to do only the 2nd.

```
In [9]: df.sort_index(by=('a','two'))
Out[9]: 
     a           b
   one  two  three
3    1    2      4
2    1    3      2
1    1    4      3
0    2    5      1

[4 rows x 3 columns]

In [10]: df.sort_index(by=[('a','two')])
Out[10]: 
     a           b
   one  two  three
3    1    2      4
2    1    3      2
1    1    4      3
0    2    5      1

[4 rows x 3 columns]
```

anyone think this is a bad idea?
 Looks like a good idea at first sight. Should this also be implemented for `sort`?
 `Dataframe.sort` just passed thru to `sort_index`...but'll change the doc-string
