Implement Upgrader API (#6).
Use new Upgrader API in examples
Support "Sec-Websocket-Protocol" for old-style "Upgrade" calls.
Moved Upgrader code to server implementation.
Renamed constants to match Go style guidelines.
Updated Origin check.
The host in the Origin header must match the host of the request by default.
Moved Upgrader variable to package level.
Removed unnecessary call to "http.Error".
Simplified returning of errors.
Make subprotocol negotiation more flexible.
Updated docs.
Relicense to the Gorilla WebSocket Authors.
Improve comparison with other packages in readme.
Cleanup issues reported by golint.
Various improvements to Upgrader.

- Revert back to using Subprotocols []string. The protocol negotiation
  using Subprotocols should meet the needs of most applications.
  Applications are not locked into using this negotiation. An
  application can pick a protocol some other way and specify the
  protocol using the Sec-Websocket-Protocol response header.
- Parse the origin using url.Parse. This is the correct function to use
  when parsing a full URL.
- Improve comments.
Use Upgrader in client/server test.