Inconsistent Panel Assignment
Hi,

I've encountered some (seemingly) inconsistent behavior in assigning values to Panels. Here are some examples

``` python
In [2]: aapl = DataReader('AAPL','yahoo')
        p = Panel({'stock':aapl})
        print p['stock'][:5]
Out[2]:              Open    High    Low     Close   Volume     Adj Close
Date                        
2011-08-01 00:00:00  397.78  399.50  392.37  396.75  21887000    396.75
2011-08-02 00:00:00  397.65  397.90  388.35  388.91  22840700    388.91
2011-08-03 00:00:00  390.98  393.55  382.24  392.57  26161000    392.57
2011-08-04 00:00:00  389.41  391.32  377.35  377.37  31121700    377.37
2011-08-05 00:00:00  380.44  383.50  362.57  373.62  43021100    373.62
```

The above is exactly what we expect.

However, assigning a new DataFrame to the Panel drops any new columns:

``` python
In [3]: goog = DataReader('GOOG','yahoo')
        goog['test'] = 1
        print goog[:5]

Out[3]:              Open    High    Low     Close   Volume   Adj Close  test
Date                            
2011-08-01 00:00:00  611.22  615.50  599.18  606.77  3966100     606.77  1
2011-08-02 00:00:00  606.00  609.67  591.57  592.40  3200600     592.40  1
2011-08-03 00:00:00  594.27  603.00  583.63  601.17  3825700     601.17  1
2011-08-04 00:00:00  594.50  598.85  577.47  577.52  4914600     577.52  1
2011-08-05 00:00:00  582.54  590.00  562.00  579.04  5929100     579.04  1

In [4]: p['stock'] = goog
        print p['stock'][:5]

Out[4]:              Open    High    Low     Close   Volume     Adj Close
Date                        
2011-08-01 00:00:00  611.22  615.50  599.18  606.77  3966100     606.77
2011-08-02 00:00:00  606.00  609.67  591.57  592.40  3200600     592.40
2011-08-03 00:00:00  594.27  603.00  583.63  601.17  3825700     601.17
2011-08-04 00:00:00  594.50  598.85  577.47  577.52  4914600     577.52
2011-08-05 00:00:00  582.54  590.00  562.00  579.04  5929100     579.04
```

Direct assignment of a column works:

``` python
In [5]: for i in p.items:
            p[i]['test'] = 1
        print p['stock'][:5]

Out[5]:              Open    High    Low     Close   Volume   Adj Close  test
Date                            
2011-08-01 00:00:00  611.22  615.50  599.18  606.77  3966100     606.77  1
2011-08-02 00:00:00  606.00  609.67  591.57  592.40  3200600     592.40  1
2011-08-03 00:00:00  594.27  603.00  583.63  601.17  3825700     601.17  1
2011-08-04 00:00:00  594.50  598.85  577.47  577.52  4914600     577.52  1
2011-08-05 00:00:00  582.54  590.00  562.00  579.04  5929100     579.04  1
```

But we lose the new column again if we try to assign by item:

``` python
In [6]: for i in p.items:
            p[i]['test'] = 1
        for i in p.items:
            p[i] = goog
        print p['stock'][:5]

Out[6]:              Open    High    Low     Close   Volume     Adj Close
Date                        
2011-08-01 00:00:00  611.22  615.50  599.18  606.77  3966100     606.77
2011-08-02 00:00:00  606.00  609.67  591.57  592.40  3200600     592.40
2011-08-03 00:00:00  594.27  603.00  583.63  601.17  3825700     601.17
2011-08-04 00:00:00  594.50  598.85  577.47  577.52  4914600     577.52
2011-08-05 00:00:00  582.54  590.00  562.00  579.04  5929100     579.04
```

The above behavior seems to stem from `Panel.__setitem__`'s reindexing of the input value by the Panel's major and minor axes, while `Panel.set_value` extends the axes of the underlying DataFrames, but doesn't update the Panel's axes.

This occurs on pandas-0.8.1-py2.7-linux-x86_64
