bandb: Don't attempt to write to a NULL helper.
openssl: Set some sort of session id context.

Without a session id context and if client certificates are used, OpenSSL
fails the handshake if an attempt is made to reuse an old session. Various
clients could not reconnect after a disconnection because of this.

See https://bugzilla.mozilla.org/show_bug.cgi?id=858394#c34 for a bug
report.
openssl: Fix compiler warning.
openssl: Use cipher list suggested by Argure.
openssl: Improve security using options recommanded by Argure.

Note that these are not available in old versions of OpenSSL (like FreeBSD
9.x base OpenSSL), so allow them to be missing.

A side effect may be slightly higher CPU consumption and network traffic.
Avoid wrong detection of redundant/duplicate auth blocks with auth_user.

If there was more than one user= per auth block, the check for redundant
or duplicate auth blocks did not take auth_user into account.
Remove an unused variable.