semantic is not consistent in astype(..) and read_csv(dtype=..)
pandas 0.17.1

```
import pandas as pd
from io import StringIO
sio=StringIO("""
A
2
nan
""")
df = pd.read_csv(sio,dtype={'A':str})  
print(type(df.A[0]),df.A[0])
print(type(df.A[1]),df.A[1])
print()
df=df.astype(str)
print(type(df.A[0]),df.A[0])
print(type(df.A[1]),df.A[1])
```

prints:

```
<class 'str'> 2
<class 'float'> nan

<class 'str'> 2
<class 'str'> nan
```

---

`read_csv`,even I've specified the dtype to str , reads column A into a mixed object dtype (str + float nan) .
`astype` is as expected as it interpreting the `nan` into string `'nan'` thus it results in pure str dtype.
These two semantic is not consistent .
