smtpd.go: make a connection's configuration public

Conn.Config is the live configuration of the connect, which allows you
to manipulate it (for example, to delete TLS) after a Conn is created.
This turns out to be convenient for some stuff.

There are obvious restrictions that apply, eg trying to remove TLS
after STARTTLS is going to be what they call 'ineffective'.
Update README to better document smtpd's features et al (+ credits)

It's high time I mentioned both SMTP AUTH support and who wrote it (ie,
not me, that was Felix Lange).
sinksmtp.go: support selectively disabling TLS in rules + a bit better TLS

This adds a new @connect phase and a 'tls-opt' setting for with.
The latter allows both disabling TLS and disabling client certificate
verification.

Sinksmtp also now disables asking for client certificates if the
source IP has already failed TLS setup once and this is the last
chance. This gives us a chance to set up TLS with clients that
have bad client certs but no other problems.
sinksmtp.go: don't crash on 'with tls-opt no-client' without TLS

The first version of this code could dereference what might be a nil
pointer if TLS already wasn't set up.