BUG: Properly validate and parse nrows in read_csv
1) Allows `float` values for `nrows` for the Python engine
2) Prevents abuse of the `nrows` argument for the CParser (e.g. you can passing `nrows=1.2`)

Closes #10476.

@jreback : Made the requested changes, and Travis is still giving the green light.  Ready to merge if there is nothing else.
 short and sweet! nice! thanks @gfyoung 
