Multiindex not re-created when selecting columns of a dataframe
``` python
import pandas as pd
from numpy import random

# Make a dataframe
foo = pd.DataFrame(random.rand(5,6), 
                   columns=pd.MultiIndex.from_tuples(
                   [('A','1'), ('A','2'),('B','1'),('B','2'),('C','1'),('C','2')]))

# Select a subset of columns based on level[0] labels
fooAB = foo[['A','B']].copy()

# Compare multiindex levels of original and subset dataframes
print(foo.columns.levels[0], fooAB.columns.levels[0])

# They are the same! Expected behavior is that fooAB
#  will have a multiindex with level[0] = ['A','B']

# The labels are different, which is what makes 
#  the fooAB column names appear correct
print(foo.columns.labels[0], fooAB.columns.labels[0])
```

This behavior occurs for both `foo[['A','B']].copy()` and `foo[['A','B']]`. 
