driver: use write batching
driver: remove connection pool contention

Fast fail instead of blocking when there's no
connections available. This allows us to remove
a contended synchronisation point.
stress: optimize and add sync/async options

* use one generator per worker
* run async workers on a threadpool, don't block