OverflowError converting str to int in dataframe on win32
#### Code Sample, a copy-pastable example if possible

```python
df = pd.DataFrame()
df.loc[1, 'timestamp'] = '1489687200000'
df.timestamp.astype(int)
```
#### Problem description
Results in error:
```
OverflowError                             Traceback (most recent call last)
<ipython-input-51-aa072084e764> in <module>()
      1 df = pd.DataFrame()
      2 df.loc[1, 'timestamp'] = '1489687200000'
----> 3 df.timestamp.astype(int)

C:\Users\Marco\anaconda\lib\site-packages\pandas\core\generic.py in astype(self, dtype, copy, raise_on_error, **kwargs)
   3052         # else, only a single dtype is given
   3053         new_data = self._data.astype(dtype=dtype, copy=copy,
-> 3054                                      raise_on_error=raise_on_error, **kwargs)
   3055         return self._constructor(new_data).__finalize__(self)
   3056 

C:\Users\Marco\anaconda\lib\site-packages\pandas\core\internals.py in astype(self, dtype, **kwargs)
   3187 
   3188     def astype(self, dtype, **kwargs):
-> 3189         return self.apply('astype', dtype=dtype, **kwargs)
   3190 
   3191     def convert(self, **kwargs):

C:\Users\Marco\anaconda\lib\site-packages\pandas\core\internals.py in apply(self, f, axes, filter, do_integrity_check, consolidate, **kwargs)
   3054 
   3055             kwargs['mgr'] = self
-> 3056             applied = getattr(b, f)(**kwargs)
   3057             result_blocks = _extend_blocks(applied, result_blocks)
   3058 

C:\Users\Marco\anaconda\lib\site-packages\pandas\core\internals.py in astype(self, dtype, copy, raise_on_error, values, **kwargs)
    459                **kwargs):
    460         return self._astype(dtype, copy=copy, raise_on_error=raise_on_error,
--> 461                             values=values, **kwargs)
    462 
    463     def _astype(self, dtype, copy=False, raise_on_error=True, values=None,

C:\Users\Marco\anaconda\lib\site-packages\pandas\core\internals.py in _astype(self, dtype, copy, raise_on_error, values, klass, mgr, **kwargs)
    502 
    503                 # _astype_nansafe works fine with 1-d only
--> 504                 values = _astype_nansafe(values.ravel(), dtype, copy=True)
    505                 values = values.reshape(self.shape)
    506 

C:\Users\Marco\anaconda\lib\site-packages\pandas\types\cast.py in _astype_nansafe(arr, dtype, copy)
    532     elif arr.dtype == np.object_ and np.issubdtype(dtype.type, np.integer):
    533         # work around NumPy brokenness, #1987
--> 534         return lib.astype_intsafe(arr.ravel(), dtype).reshape(arr.shape)
    535 
    536     if copy:

pandas\lib.pyx in pandas.lib.astype_intsafe (pandas\lib.c:17409)()

pandas\src\util.pxd in util.set_value_at_unsafe (pandas\lib.c:72777)()

OverflowError: Python int too large to convert to C long
```

#### Expected Output
On macos this works fine, but unfortunately I have to migrate a project to windows and there it does not work. I'm running the latest anaconda for win32 on windows 7.

int('1489687200000') works fine, also using df.timestamp.astype(np.int64) instead of astype(int) works. That's also my workaround right now.

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

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.0.final.0
python-bits: 32
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 70 Stepping 1, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.19.2
nose: 1.3.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.11.3
scipy: 0.18.1
statsmodels: 0.6.1
xarray: None
IPython: 5.1.0
sphinx: 1.5.1
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2016.10
blosc: None
bottleneck: 1.2.0
tables: 3.2.2
numexpr: 2.6.1
matplotlib: 2.0.0
openpyxl: 2.4.1
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.2
bs4: 4.5.3
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.1.5
pymysql: None
psycopg2: None
jinja2: 2.9.4
boto: 2.45.0
pandas_datareader: 0.2.1
</details>