Adding auto-close upon exhaustion to all iterators produced by ProcessingContext helpers
Changed async io strategy: now one thread per input logical process input. This should be a better match that one thread per SAM/BAM file and allow a more even workload split.
Defensive programming to prevent multiple closing of underlying resources