Added additional error handling and close checks to Batchers
Reworked the batch collection management to use a new collection for each batch.  For the time only batcher this prevents wasting memory.  Otherwise it allows for previous batchs to potentially be garbage collected earlier.