only pass the envelope id and the status line if necessary to
report delivery outcome to the queue.
use sizeof to compute msg size, rather than hardcoded value
Implement a simple flow control mechanism in queue process: selectively
disable imsg inputs when output buffers usage and bounce count get too
high.
report the highest value seen for bytes_queued since the last update,
rather the current value.
Merge branch 'master' into issue158-queue-flow-control
Merge branch 'master' into issue158-queue-flow-control
Merge branch 'master' into evp-passing
Merge branch 'master' into issue158-queue-flow-control
- call queue_flow_control() at a better place
- log mproc enable/disable when limits are crossed
Rework bounce implementation to make it more efficient memory wise.
Introduce bounce_message and bounce_envelope structures which only
contains the relevant info for proper bounce injection.
Replace struct bounce with a struct bounce_session which is able
to re-inject more than one bounced message over a single SMTP session.
Add proper refcounting on relay when using the delay timer to prevent
it from being deleted too early.
Merge branch 'master' into issue157-better-bounce
Merge branch 'master' into issue158-queue-flow-control
Merge branch 'master' into issue158-queue-flow-control

Conflicts:
	smtpd/bounce.c
remove limit on bounces
move corrupted messages to /corrupt at startup if there is a problem
Merge branch 'bring-back-corrupt'
Merge branch 'master' into issue158-queue-flow-control
call flow_control at the right place, and tweak log messages
- use more reasonnable default hiwat/lowat
- simplify the bounce code to fix a bug where the msg tree could be corrupted