Configurable hard limit on the max size of requests

Also add a BackPressureThreshold 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