BUG: GH3468 Fix assigning a new index to a duplicate index in a DataFrame would fail

partially fixes #3468

This would previously raise
````
In [6]: df = DataFrame([[1,2]], columns=['a','a'])

In [7]: df.columns = ['a','a.1']

In [8]: df
Out[8]: 
   a  a.1
0  1    2

```