The notion of mta batch in the scheduler has no use anymore.
Simplify the code.
fix scheduler wrt suspended envelopes:

- removing a suspended envelope removes it right away.
- suspending a inflight envelope marks it as suspendend on return
- scheduling a suspended envelope schedules it immediatly, but keeps
  it suspended (no automatic scheduling).
When an inflight envelope is removed, mark it as such and schedule it
for removal on update.
remember the current holdq for an envelope.
Use explicit states for envelopes, instead of messing with flags.
Make the logic easier to follow.
Correctly handle removing, scheduling and suspending of envelopes on hold.
Remove the scheduler.envelope.hold counter as it cannot work.
Make a more specific scheduler.ramqueue.hold counter instead.
Also compare helotable in relay comparaison.
Merge branch 'master' into portable
manpage tweaks by Jason McIntyre
Merge branch 'master' into portable
Set lastmxquery when the MX query returns, not when it is issued.
This fixes possible a race when several relays share a single domain,
resulting in temporary failures and unnecessary delays.
Merge branch 'master' into portable
missing stat counter update
Merge branch 'master' into portable