Simple class to rate limit IO. Typically it's shared
across multiple IndexInputs or IndexOutputs (for example
those involved all merging). Those IndexInputs and
IndexOutputs would call pause(long) whenever they
want to read bytes or write bytes.
Pauses, if necessary, to keep the instantaneous IO
rate at or below the target. NOTE: multiple threads
may safely use this, however the implementation is
not perfectly thread safe but likely in practice this
is harmless (just means in some rare cases the rate
might exceed the target). It's best to call this
with a biggish count, not one byte at a time.