Move the rate limiter out of 'consumeOutbox'

Instead, take advantage of the ability to compose the sendMail routine,
and wire up a rate limiter in 'main'. This leads to faster test runs,
and a simpler more focused 'consumeOutbox'. The rate limiter was not
really getting tested anyway, so this will force me to write tests for
it in isolation.
Test and fix the rate limiter