allow batch size as `-b 1000` for collections too large for `.toArray() | async.map` in memory

Issue migrating my database with Igor: not all the mongo documents end up getting the OT data `{_v, _type, id}` added, which results in a "Invalid snapshot" error. When I was looking through my collections, I noticed it was consistently only on one collection: `usersPrivate`, which houses the largest data in the store (a single user can be multiple MB). 

When I add error logging, I get `FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory`. Looks like `cursor.toArray()` -> `async.map` is too much to handle for large data. This PR adds an option for passing a batch size as `-b 500`.

Note:
 1. I'm not sure this is the best way to handle batches, so feel free to scrap the PR if you have a better idea
 1. It still doesn't seem to fix the issue. I still have documents without the OT data applied. Fewer, so it *may* have helped - but they're there still. So again, feel free to scrap the PR if you think something else is at play