Error setting multiple columns via hierarchical indexing in DataFrame
I encountered the following:

```
for i in xrange(len(reg_results)):
    name = names[i]
    reg_result = reg_results[i]
    betas[name] = reg_result._beta_raw
```

> ---
> 
> AssertionError                            Traceback (most recent call last)
> <ipython-input-26-86f8dc5d0623> in <module>()
>       5     print(betas[name].shape)
>       6     print(reg_result._beta_raw.shape)
> ----> 7     betas[name] = reg_result._beta_raw
> 
> C:\Python27\lib\site-packages\pandas\core\frame.pyc in **setitem**(self, key, value)
>    1802         else:
>    1803             # set column
> -> 1804             self._set_item(key, value)
>    1805 
>    1806     def _boolean_set(self, key, value):
> 
> C:\Python27\lib\site-packages\pandas\core\frame.pyc in _set_item(self, key, value)
>    1842         """
>    1843         value = self._sanitize_column(key, value)
> -> 1844         NDFrame._set_item(self, key, value)
>    1845 
>    1846     def insert(self, loc, column, value):
> 
> C:\Python27\lib\site-packages\pandas\core\generic.pyc in _set_item(self, key, value)
>     491             if len(key) != self.columns.nlevels:
>     492                 key += ('',)*(self.columns.nlevels - len(key))
> --> 493         self._data.set(key, value)
>     494 
>     495         try:
> 
> C:\Python27\lib\site-packages\pandas\core\internals.pyc in set(self, item, value)
>     882         if value.ndim == self.ndim - 1:
>     883             value = value.reshape((1,) + value.shape)
> --> 884         assert(value.shape[1:] == self.shape[1:])
>     885         if item in self.items:
>     886             i, block = self._find_block(item)
> 
> AssertionError: 

Data shapes seem to be equal:

```
print(betas[name].shape)
print(reg_result._beta_raw.shape)
betas[name].shape == reg_result._beta_raw.shape
```

> (1257, 3)
> (1257L, 3L)
> True

The walkaround that works is the following:

```
for i in xrange(len(reg_results)):
    name = names[i]
    reg_result = reg_results[i]
    for i in xrange(len(data_columns)):
        column = data_columns[i]
        betas[name, column] = reg_result._beta_raw[:, i]
```

Is this the way to go or did I encounter a bug?
