Proper checks on nrows and chunksize for read_csv
From #15755 (e.g. [this comment](https://github.com/pandas-dev/pandas/pull/15756#issuecomment-288108170)).

Current status:
- there is a check on ``nrows``, which ensure floats are converted to int with no loss of precision, but not that the resulting/passed value is non-negative
- there is no check on ``chunksize``, so that a ``pd.concat`` based on ``chunksize=0`` will enter an infinite loop

I guess we want to ensure ``chunksize > 0`` and ``nrows >= 0``.