2017 - Support multiple protocols server side

The server will now push down protocols based on a client given protocol in negotiate.  There is a min and a max protocol version and the server will only server >= min or <= max protocol versions

#2017