Fix links to godoc.org.
Send one frame for WriteMessage.

Previous to this change, WriteMessage sent two frames. The second frame
was an empty continuation with the final bit set to true. The package
now sends a single frame with the final bit set on that frame.

Include WriteMessage in the fuzzing client tests.
Add SetReadLimit and more.

- Add SetReadLimit method to connection. The method specifies the
  maximum message size received from the peer.
- Add HandshakeError type so that application can determine correct
  action to take on error return from Upgrade.
- Mention application's responsiblity to check origin in Upgrade
  comment.
- Update chat example.
- Fix bugs.
Add NewClient

NewClient is a low-level function for creating client connections. A
more convenient Dial function is coming later.
Add NewClient, part 2

Oops, I forgot to add some files to the previous commit.
Support arbitrary headers.

This is an incompatible change. Updating to this change should be easy
for most applications (usually changing "" to nil in call to Upgrade).

- Replace subprotocol argument to Upgrade with response headers. The
  application can specify the subprotocol in using the
  Sec-WebSocket-Protocol header.

- Replace suprotocol result from NewClient with *http.Response. The
  application can get the negotiated subprotocol using
  resp.Header.Get("Sec-WebSocket-Protocol"). Applications can also get
  Set-Cookie headers using the response Cookies method.
Improve README and comments.
Add LocalAddr, RemoteAddr methods.

Also, add link to zhangpeihao's net.Conn wrapper to the README.
Improve documentation.
Fix comment formatting.