Chunk CSVs using pandas.read_csv

closes #587

- [x] performance diffs
- [x] newline robustness (e.g., appending to the end of a file that has an existing newline)
- [x] bypass `DataDescriptor.__iter__`