Add fast index-based lookup that shares the same reader as streaming.
Perf improvements, fewer allocations.
Use streaming interfaces for reading. This also fixes a hack around handling escaped newlines in quoted values.