set_index drop inconsistency
I'm not sure if providing a Series of the dataframe  as a key to drop is covered by the API (the docs don't mention `Series` as they do for df.groupby() ), but it's at least inconsistent that the set_index seems to work but then the default drop=True is being ignored. 
See what I mean:

``` python
print df
a   b   c
0    0.454351    0.916299    0.272791
1   -0.249901    0.109531   -0.587856
2    1.166015   -1.833338   -1.253099
3    0.014515   -0.099151   -1.073973
4   -0.740403   -0.785952   -0.815626

5 rows × 3 columns

print df.set_index(df.a)
                  a         b         c
a                                      
 0.454351  0.454351  0.916299  0.272791
-0.249901 -0.249901  0.109531 -0.587856
 1.166015  1.166015 -1.833338 -1.253099
 0.014515  0.014515 -0.099151 -1.073973
-0.740403 -0.740403 -0.785952 -0.815626

[5 rows x 3 columns]
```

When using a column name string, all works fine:

``` python
print df.set_index('a')
                  b         c
a                            
 0.454351  0.916299  0.272791
-0.249901  0.109531 -0.587856
 1.166015 -1.833338 -1.253099
 0.014515 -0.099151 -1.073973
-0.740403 -0.785952 -0.815626

[5 rows x 2 columns]
```

I thought I tracked it down to this relevant code in core/frame.py/set_index:

``` python
        for col in keys:
            if isinstance(col, Series):
                level = col.values
                names.append(col.name)
            elif isinstance(col, (list, np.ndarray)):
                level = col
                names.append(None)
            else:
                level = frame[col].values
                names.append(col)
                if drop:
                    to_remove.append(col)
            arrays.append(level)
```

To me, the lines:

``` python
if drop:
    to_remove.append(col)
```

seem to be one scope too deep and should be one level higher so that independent of the type of `col`, the drop can be performed.

However, when trying my fix by reducing the indent, I get all sorts of iloc errors (again), not sure what's going on, so my naïve idea must be missing something.
