Allow setting of handshake attributes directly

In order to use the handshake server from a non-string based protocol
(e.g. Rack), it is convenient to be able to set the headers,
path, and query manually, and then call set_version manually.

This means that this library can be easily used with Rack 1.5's new
hijack feature, which gives a user access to the underlying socket.
removed accessors and added from_rack instead
fix whitespace, restore private.
parse all http headers, test from_rack
ruby 1.8 compatibility
Merge pull request #15 from ngauthier/master

Allow setting of handshake attributes directly