Closing the client with an empty status would fool the server connection into thinking the connection was still open

Added a UnitTest to reproduce this behavior. When closing the connection with WebSocketCloseStatus.Empty, the server connection would interpret this as a normal receive operation of 0 bytes.  Also added the fix