Iterate when indexing

This should speed up performance when indexing a lot of documents at once (rake rummager:index) by avoiding loading them all into memory simultaneously. 

It still iterates over them all calling validate. I wasn't sure of the motivation for doing this before starting indexing vs validating each document batch in turn at index time. Thoughts welcome.