-*- text -*-

Exit with proper status on errors so that sendmail will queue the mail
instead of bouncing.  Follow Majordomo's lead on this.

Optimize for space.  Some large arrays can be freed immediately after
they're used to sort or whatever.

Use IO::Select to manage multiple outbound connections simultaneously.

Fix all XXX'ed open issues.

Daemon mode:
Run TLB as a daemon; bury list-specific config stuff under another level
of namespace; only reread a config if it's changed; only batch addresss
lists if they've changed or the config has changed.  This eliminates all
startup costs; we can make address parsing/handling as expensive as we
want.
Client is a small C program that sends a bit of intro then a raw message.
Very little protocol here.
Need to timeout down hosts somehow (alarm) or just reset them back after
every message?
Need to make sure no list state leaks out of list-specific namespace.

