Speed up parsing using a dynamic resizing list

Implement a bare bones dynamic list so we can collect the high dimensional data rows without
suffering from a quadratic number of memory copies and corresponding slowdown.

Also some other small parser changes.