BUG: assignment should coerce dtype
test in-line here: https://github.com/pandas-dev/pandas/blob/master/pandas/tests/indexing/test_partial.py#L208

```python
>>> a = pd.DataFrame(index=[1,2,3],columns=["a"])
>>> a
     a
1  NaN
2  NaN
3  NaN
>>> a.interpolate()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/site-packages/pandas/core/generic.py", line 3670, in interpolate
    raise TypeError("Cannot interpolate with all NaNs.")
TypeError: Cannot interpolate with all NaNs.

>>> a.iloc[0,0]=1
>>> a
     a
1    1
2  NaN
3  NaN
>>> a.interpolate()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/site-packages/pandas/core/generic.py", line 3670, in interpolate
    raise TypeError("Cannot interpolate with all NaNs.")
TypeError: Cannot interpolate with all NaNs.
```
#### Problem description

A dataframe created with index but no data is intitially given NaN content. The interpolate() method will fail on this data. Even when data is added to the frame, the method still fails

#### Expected Output

```python
>>> a.iloc[0,0]=1
>>> a
     a
1    1
2   1
3   1 
```

#### Output of ``pd.show_versions()``

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.4.2.final.0
python-bits: 64
OS: Darwin
OS-release: 15.6.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: en_GB.UTF-8

pandas: 0.19.2
nose: 1.3.6
pip: 1.5.6
setuptools: 2.1
Cython: None
numpy: 1.12.0
scipy: 0.16.1
statsmodels: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.6.0
pytz: 2016.10
blosc: None
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.4.3
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: None
pymysql: 0.7.5.None
psycopg2: None
jinja2: 2.8
boto: None
pandas_datareader: None
</details>
