Prevent dataframes from having duplicate column names
I've run into a number of bugs that were introduced by columns with the same name. For example, if I try to select a duplicate column from a dataframe, I get a dataframe back, which leads to confusing bugs: 
    df = pd.DataFrame({'name': ('jimmy', 'hortense', 'knut'), 'age': (10, 13, 20)})
    df = df[['name','name','age']]
    df['name']
Gives a dataframe, not a series.

Any reason for not automatically renaming duplicated columns with a .1, .2... .n or throwing an error?
