BUG: bug in setitem where type promotion is applied to entire block
closes https://github.com/pydata/pandas/issues/10280

on master:

``` python
>>> df
   foo  bar  baz
a    0    1    2
b    3    4    5
>>> df.dtypes
foo    int64
bar    int64
baz    int64
dtype: object
>>> df.loc['a', 'bar'] = 3.14
>>> df.dtypes
foo    float64
bar    float64
baz    float64
dtype: object
```

on branch:

``` python
>>> df.dtypes
foo    int64
bar    int64
baz    int64
dtype: object
>>> df.loc['a', 'bar'] = 3.14
>>> df.dtypes
foo      int64
bar    float64
baz      int64
dtype: object
>>> df
   foo   bar  baz
a    0  3.14    2
b    3  4.00    5
```
