Fix hang when Websocket Read is interrupted

Updated to catch the quit signal and break out of the loop. Tested that ^C shutsdown `btcwallet` as expected, with the same env in which it was hanging earlier.
This comment could use some love.  I'd put the explanation about the multi case select in WebsocketClientGateway inside of that method, rather than here, and here just say something to the effect of:

```
// WebsocketClientRead is intentionally not run with the waitgroup
// so it is ignored during shutdown.  This is to prevent a hang during
// shutdown where the goroutine is blocked on a read of the
// websocket connection if the client is still connected.
go s.WebsocketClientRead(wsc)

s.wg.Add(3)
go s.WebsocketClientGateway(wsc)
go s.WebsocketClientRespond(wsc)
go s.WebsocketClientSend(wsc)
```