using HttpStatusCode from System.Net, updates to handle bad requests
Simplified closing socket, returning list of supported websockets versions on unsupported version
Disposing of memory stream