Switch from go.net to gorilla websocket.

Gorilla websockets use a buffer, and if the wallet sends a message
that exceeds the default 4096 byte send buffer, the message is
fragmented into multiple websocket frames.  go.net websockets do not
handle reading these fragmented frames correctly, and read a single
(possible fragmented) frame at a time with no way determine if a frame
is a continuation frame and stitch the message back together.  This
can result in unparsable wallet replies and notifications.  Switching
to gorilla websocket solves this by reading and combining continuation
frames.

A full switch to btcrpcclient would be preferred, but the APIs between
go.net and gorilla websockets are similar enough that this change
could be made quickly and immediately prevent the fragmentation
issues.