A Socket that Handshakes in Multiple Protocols

These are changes to support a single listening socket that works with http, https, peer, and eventually ws and wss connections.