DontDieInTheStore - handling exceptions in receive in websocket store transport

If an exception happened while reading a message using the websocket store transport we would not handle. As a result it would be bubbled up and would crash the user's app. The user have no way of catching this exception. The fix is to catch exceptions and report them to the user using the IConnection.Error and to close the websocket to enable reconnect logic.

Workitem #3313