Series.add(fill_value=0) changes int dtype to float
#### Code Sample
```python
import pandas as pd
pd.Series([1,2,3]).add(pd.Series([100]), fill_value=0)
```

#### Problem description
The resulting dtype should be int (as the inputs and `fill_value` are all ints), but it is float:
```
0    101.0
1      2.0
2      3.0
dtype: float64
```

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

<details>
python: 3.5.4.final.0
python-bits: 64
pandas: 0.20.3
numpy: 1.13.1
</details>
