Implementation of the Socket Connection object. The SilcSocketConnection is used by all applications to represent a socket based connection to the network. The Socket Connection object handles inbound and outbound data buffers, can perform keepalive actions for the connection and supports connection based protocols as well.