WIP: Chunk CSVs using pandas.read_csv

closes #587

- [ ] performance diffs
- [ ] newline robustness (e.g., appending to the end of a file that has an existing newline)
- [x] revert dshape inference changes and don't let pandas turn `''` into `nan`
A lot of this could be replaced (and presumably be faster) if we use `read_csv(names=key)` where key is the named index.