rename doesn't work with mutliindex
#### Code Sample, a copy-pastable example if possible
```python
# Your code here
mi = pd.MultiIndex.from_product([['A','B'], [0, 1]])
df1 = pd.DataFrame(np.ones((1,4)), columns=mi)
df2 = df1.rename(columns={df1.columns[1]: ('C', 3)})
print(df1)
print(df2)
```
Currently both df1 and df2 are:
```
     A         B     
     0    1    0    1
0  1.0  1.0  1.0  1.0
```

#### Problem description
I was expecting df.columns[1] to change to ('C', 3) but it remains ('A', 1)

#### Expected Output
```
     A    C    B     
     0    3    0    1
0  1.0  1.0  1.0  1.0
```
