BUG: Strings with exponent but no decimal point parsed as integers in python csv engine
Fixes GH #9565. I also made the handling of out-of-range integers consistent with the C engine: parse as a string rather than a double.

pls give this a perf run on the `-r csv` and see if anything is changed
 @evanpw looks good. (FYI if you want to add a confirming case for the out-of-range int64 you have above would be good - not sure that is really tested atm).

and pls run perf and report if anything amiss.
 Integers near the boundary of int64 values were getting parsed as strings because the boundary comparison was performed using doubles. That's fixed in this last commit, and some tests added. Checked performance: no measurable difference with master. Rebased and moved whatsnew entry to 0.16.2.
 fyi, you may have to rebase again as I just fixed a travis build error about 10 min ago.
 couple of issues w.r.t. windows. I think some of the libraries are named differently. So just revert that part of the code. ping after travis is green.
 cython libc imports reverted, and tests are green
 merged via https://github.com/pydata/pandas/commit/38876df03ada8e962fad06ac64cb343562cb976c

thanks!
