Improve a couple of JSON-RPC server err conditions.
Improve a couple of JSON-RPC server err conditions.

- When invalid HTTP Basic Access Authentication details are provided to
  the websocket endpoint, return a WWW-Authenticate header just like the
  non-websocket endpoint
- When a connection to the websocket endpoint fails to properly upgrade,
  return a 400 Bad Request HTTP error status code

pkothbauer/btcd,jrick/btcd,decred/dcrd,qchain/btcd,DanielKrawisz/btcd,soapboxsys/ombfullnode,ppcsuite/ppcd-old,1d4Nf6/btcd,Roasbeef/btcd,ltcsuite/ltcd,runeaune/btcd,ppcsuite/ppcd,dan-da/btcd,wallclockbuilder/btcd,runeaune/btcd,danoctavian/btcd,btcsuite/btcd,wallclockbuilder/btcd,Cleawing/btcd,btcsuite/btcd,danoctavian/btcd,jongillham/btcd,dajohi/btcd,ppcsuite/ppcd,pkothbauer/btcd,jcmincke/dcrd,jimmysong/btcd,dan-da/btcd,DanielKrawisz/btcd,soapboxsys/ombfullnode,cjepson/btcd,adiabat/btcd,hectorj/btcd,qchain/btcd,ltcsuite/ltcd,glv2/ppcd,jongillham/btcd,tb00/btcd,BitGo/prova,stevenroose/btcd,jrick/btcd,jcmincke/dcrd,hectorj/btcd,BitGo/prova,btcsuitereleases/btcd,cqswxj2013/btcd,jimmysong/btcd,glv2/ppcd,toddfries/btcd,Dirbaio/btcd,Dirbaio/btcd,decred/dcrd,mathiasrw/btcd,aakselrod/btcd,Dirbaio/btcd,jrick/dcrd,davecgh/btcd,cjepson/btcd,Cleawing/btcd,cqswxj2013/btcd,tb00/btcd,Roasbeef/btcd,mathiasrw/btcd,Stash-Crypto/btcd,dajohi/btcd,1d4Nf6/btcd,jcmincke/dcrd,stevenroose/btcd,aakselrod/btcd,adiabat/btcd,toddfries/btcd,dajohi/btcd,ppcsuite/ppcd-old,CryptocurrencyCabal/htcd,jrick/btcd,Stash-Crypto/btcd,jrick/dcrd,btcsuitereleases/btcd,davecgh/btcd,CryptocurrencyCabal/htcd