Move session tls-options= assignment out of CreateSession() function
The original implementation utilized OpenSSL inheritence of
library-specific options from SSL_CTX* to SSL* structures.
This does not work with GnuTLS which requires setting the
options on each session object.
The workaround of looking up the session options inside CreateSession()
was only looking for client connection details. Which is broken when
creating server sessions.
* Extend Security::CreateSession() to take a PeerOptions reference
containing the specific config details to associate with the new
session (if any).
* Move selection of CachePeer vs tls_outgoing_* options
out to Security::CreateClientSession().
* Pass the Any::PortCfg::secure details into the
Security::CreateServerSession().