Confusing behavior with assignment using .iloc and __getitem__ on a DataFrame
I got caught on this in my code and it took a while to figure out the issue. Is it expected behavior that switching the order of column and row selection on a data frame will not always make the assignment? 

``` python
In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: columns = list('abcdefg')

In [4]: rows = list('12345678')

In [5]: df = pd.DataFrame(np.random.random((len(rows), len(columns))), columns=columns, index=rows)

In [6]: df[['b', 'c']].iloc[4] = np.array([10.0, 10.0])

In [7]: df
Out[7]: 
          a         b         c         d         e         f         g
1  0.785981  0.267089  0.146241  0.859770  0.910126  0.434754  0.948456
2  0.808450  0.275487  0.491411  0.252733  0.887204  0.892640  0.989163
3  0.304675  0.516701  0.127553  0.930740  0.983090  0.768808  0.742200
4  0.315953  0.757930  0.985903  0.018819  0.612413  0.590886  0.940801
5  0.891840  0.667422  0.350970  0.825626  0.624634  0.439662  0.765968
6  0.191476  0.578559  0.798281  0.778773  0.888730  0.308247  0.408610
7  0.167602  0.602783  0.103249  0.673498  0.729862  0.748524  0.765943
8  0.591429  0.952579  0.916077  0.905369  0.214884  0.289155  0.544441

In [8]: df.iloc[4][['b', 'c']] = np.array([10.0, 10.0])

In [9]: df
Out[9]: 
          a          b          c         d         e         f         g
1  0.785981   0.267089   0.146241  0.859770  0.910126  0.434754  0.948456
2  0.808450   0.275487   0.491411  0.252733  0.887204  0.892640  0.989163
3  0.304675   0.516701   0.127553  0.930740  0.983090  0.768808  0.742200
4  0.315953   0.757930   0.985903  0.018819  0.612413  0.590886  0.940801
5  0.891840  10.000000  10.000000  0.825626  0.624634  0.439662  0.765968
6  0.191476   0.578559   0.798281  0.778773  0.888730  0.308247  0.408610
7  0.167602   0.602783   0.103249  0.673498  0.729862  0.748524  0.765943
8  0.591429   0.952579   0.916077  0.905369  0.214884  0.289155  0.544441
```
