pd.DataFrame.fillna() recasts to previous dtype
Getting some really funny functionality with pd.DataFrame.fillna(). After running fillna() on a non-null dataframe (or series), it converts items that should be objects (as I typecasted them) back to floats (as they originally were). 

``` python
import pandas as pd
import numpy as np

test = pd.DataFrame(np.random.randn(1,10),columns=['a','b','c','d','e','f','g','h','i','k'])
test.dtypes  # all floats
test = test.astype('object')
test.dtypes  # all objects
test['j'] = '0'  # this is a string containing the number zero
test.dtypes  # all objects
test = test.fillna('-1')
test.dtypes  # test is now all floats, except test['j']
```

Any help would be appreciated.

pd.show_versions()

``` python
In [14]: pd.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.8.final.0
python-bits: 64
OS: Darwin
OS-release: 15.0.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.16.2
nose: 1.3.4
Cython: None
numpy: 1.10.0.post2
scipy: 0.15.1
statsmodels: 0.6.1
IPython: 3.2.0
sphinx: None
patsy: 0.4.0
dateutil: 2.4.2
pytz: 2015.6
bottleneck: None
tables: None
numexpr: None
matplotlib: 1.4.3
openpyxl: None
xlrd: 0.9.3
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 0.9999999
httplib2: 0.9.2
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: 2.5.1 (dt dec pq3 ext)
```
