Added `Reader.iterShapeRecords` to help work with larger files

I added an iterative version of `Reader.shapeRecords` since I was running out of memory (and thus segfaulting) when handling a larger file on a Vagrant box.