Ensure that we have no IO pending when sleeping

For rate limiting or thinktime handling, ensure that we have
no busy IO when we do spin or sleep. Otherwise we potentially
skew the latencies a lot, since events could have been reaped.

Already working for rate iops, just abstracted it out and
ensure that we do the same for thinktime. Only a problem for
certain workloads, those with queuedepth > 1.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Merge branch 'master' of ssh://git.kernel.dk/data/git/fio
Update HOWTO and man page for thinktime blocks impact on queue depth

Signed-off-by: Jens Axboe <axboe@kernel.dk>