icol([0]) fails with non-unique, integer columns
``` python
In [14]: df=pd.DataFrame([[1,2,3],[4,5,6]],columns=[1,1,2])

In [15]: df.icol([0])
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-15-bb76389fbd62> in <module>()
----> 1 df.icol([0])

/home/user1/src/pandas/pandas/core/frame.pyc in icol(self, i)
   1877             return self[name]
   1878         raise AttributeError("'%s' object has no attribute '%s'" %
-> 1879                              (type(self).__name__, name))
   1880 
   1881     def __setattr__(self, name, value):

/home/user1/src/pandas/pandas/core/frame.pyc in reindex(self, index, columns, method, level, fill_value, limit, copy)
   2503             necessary. Setting to False will improve the performance of this
   2504             method
-> 2505 
   2506         Examples
   2507         --------

/home/user1/src/pandas/pandas/core/frame.pyc in _reindex_columns(self, new_columns, copy, level, fill_value, limit)
   2590             levels are named. If None then the index name is repeated.
   2591 
-> 2592         Returns
   2593         -------
   2594         resetted : DataFrame

/home/user1/src/pandas/pandas/core/index.pyc in reindex(self, target, method, level, limit)
    870         if self._join_precedence < other._join_precedence:
    871             how = {'right': 'left', 'left': 'right'}.get(how, how)
--> 872             result = other.join(self, how=how, level=level,
    873                                 return_indexers=return_indexers)
    874             if return_indexers:

/home/user1/src/pandas/pandas/core/index.pyc in get_indexer(self, target, method, limit)
    789         is_contained : ndarray (boolean dtype)
    790         """
--> 791         value_set = set(values)
    792         return lib.ismember(self._array_values(), value_set)
    793 

Exception: Reindexing only valid with uniquely valued Index objects
```
