split operation streams into READ and WRITE portions and pass both to Async Executor (need to do same for all executor implementations) <-- allows executor to know immediately when the last WRITE operation has been reached, so it can safely advance GCT. Without this knowledge GCT may never advance sufficiently.
fix race condition in ConcurrentErrorReporter
update tests to work with split streams mentioned above
ignore test load generator tests, as this tool is not used during testing at present, and is not actually part of the delivered driver