Pull out the websocket code entirely.

There's really no need for it.
Port the server to use Context.

And add better logging now that we can correlate things.
Retry searches.
Fix setTimeout argument order.
Time out waiting for a connection.
Always include a results array.

Even if empty, don't set it to nil.
Don't overload "query error"
Better retries talking to backend.
vagrant: bump golang version