Exception when trying to get values from DataFrame with duplicate column names and 
Lately I've been working with DataFrames with duplicate column names. I've found that if I have duplicate column names and there're different types of data in these columns, I cannot get values property from DataFrame (there're some other exceptions too, with iloc for example):

```
 # no duplicates - ok

>>> df = pd.DataFrame([range(2) + ['x'], range(2) + ['c']], columns=['a','b','c'])
>>> df
   a  b  c
0  0  1  x
1  0  1  c
>>> df.values
array([[0L, 1L, 'x'],
       [0L, 1L, 'c']], dtype=object)

# duplicate columns, same type - ok

>>> df = pd.DataFrame([range(3), range(3)], columns=['a','b','b'])
>>> df
   a  b  b
0  0  1  2
1  0  1  2
>>> df.values
array([[0, 1, 2],
       [0, 1, 2]], dtype=int64)

# duplicate columns, diff types - error

>>> df = pd.DataFrame([range(2) + ['x'], range(2) + ['c']], columns=['a','b','b'])
>>> df
   a  b  b
0  0  1  x
1  0  1  c
>>> df.values
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\pandas-0.12.0-py2.7-win32.egg\pandas\core\frame.py", line 1748, in as_matrix
    return self._data.as_matrix(columns).T
  File "C:\Python27\lib\site-packages\pandas-0.12.0-py2.7-win32.egg\pandas\core\internals.py", line 1517, in as_matrix
    mat = self._interleave(self.items)
  File "C:\Python27\lib\site-packages\pandas-0.12.0-py2.7-win32.egg\pandas\core\internals.py", line 1548, in _interleave
    raise AssertionError('All items must be in block items')
AssertionError: All items must be in block items
```
