Fix limit and user-stop enumeration when >batchSize results

The break statements in an inner loop just pushed us back out
to the batching loop, rather than out of the enumeration.

This is fixed and tests added.