- Fix SASL "Authentication failed" message to include EMSS code

- Add documentation for QMQP and QMTP back ends.

- Add variable substitution to pattern variable setting (ie x=${y} etc)

- Add better MIME attachment discrimination to patterns, instead of just
  keying on a blank line.

- Allow selecting based on authentication state in rules.

- Write install document.

- Build up TLS support.

- Use lib/cli for all executables

- Build a common line-driven protocol main loop, which does:
    set_timeout();
    if (!startup(argc, argv)) return 0;
    respond_ready();
    while (ibuf_getstr_crlf(&inbuf, &line))
      handle_line(&line);
    if (ibuf_timedout(&inbuf))
      respond_timedout();

- Tests:
  - Test application of environment variables in mail rules
  - Test rcpthosts/morercpthosts.cdb normal/wildcard behavior in
    smtpfront-qmail.

- smtpfront:

  - Build a shared routine for breaking out the domain name.

  - When verifying senders, check if $DOMAIN(?) is set, and only allow
    sender addresses from that domain.

  - Add RFC 2034/3463 enhanced status codes to all responses.

  - Add support for RFC 2487 STARTTLS

  - Segment the SMTP code into seperate files

  - Add some information about authentication into the headers (?)

  - Handle $LOCALIPHOST (all back-ends): rewrite envelope recipient
    addresses of the form box@[a.b.c.d], where a.b.c.d is a local IP
    address, to box@$LOCALIPHOST. (low priority)

- pop3front:

  - Add support for CAPA command (RFC 2449)

  - Properly re-parse flags in cmd_quit

  - Split the generic protocol handling bits from pop3front-maildir (low
    priority -- who wants anything but maildir?)
