Configurable hard limit on the max size of requests

Also add a BackPressureThresholdBytes to the producer to make it behave better
in cases where we get too close to that limit.

See discussion on:
https://github.com/tylertreat/mq-benchmarking/pull/2