Possible bug in set_index
This is similar to the question at http://stackoverflow.com/questions/18071222/working-with-set-index-in-pandas-dataframe, but I think this one may actually be a bug.

```
import pandas as pd
import numpy as np

d = {'ID': pd.Series(['x']*3 + ['y']*3,index = range(6)),
     'Count': pd.Series([1,2,1,1,1,1], index = range(6)),
     'Value_type': pd.Series(['foo','foo','bar','foo','bar','baz'], index = range(6)),
     'Value': pd.Series(range(1,7),index = range(6))}

df = pd.DataFrame(d)

stacked = df.set_index(['ID','Count','Value_type'])
print stacked
```

Running this code yields the following:

```
                     Value
ID Count Value_type       
x  1     foo             1
   2     foo             2
   1     bar             3
y  1     foo             4
         bar             5
         baz             6
```

However, I thought every level of the row index except for the last should be grouped, which would yield this.

```
                     Value
ID Count Value_type       
x  1     foo             1
         bar             3
   2     foo             2
y  1     foo             4
         bar             5
         baz             6
```
