also return sub-protocol header for handshake 04 and 75
Support binary
Do we really need this 'optimization'?
Close if missing expected continuation frame

NEEDS TESTS AND OTHER DRAFTS
Validated that control frames are not fragmented
Fail the WebSocket connection on protocol error

This is correct according to the spec for invalid UTF-8 errors. The spec isn't clear for other errors (e.g. receiving a message which is too large), but failing the connection seems appropriate.

Specifically this means that we send the close code and then _close the tcp connection_. Previously there was a bug where the input stream would not be processed and therefore a close handshake ack would not be processed, leaving the connection open.

Also refactored this logic into handler
Added missing URI require (from 44ce03c3)
Handle case where close handshake is not ack'd

By default clients are given 60s to reply to the close handshake - if they do not the connection will be force closed and an error provided to the server.

This is a rare event, but it can happen.
Specs for behaviour on un-ack'd close connections
Released version 0.5.1
Added remote_ip method closes #104

Thanks to @shokai and @kramerc for the suggestion and code.
Merge pull request #107 from janlelis/master

also return sub-protocol header for handshake 04 and 75
Record for which reason the connection got aborted
Adds an optional :outbound_limit setting

If :outbound_limit is set, the server closes the connection if we have more
than that value of in-flight data in the sending buffer.
Merge pull request #123 from zimbatm/outbound_limit

Outbound limit
Added separate licence, closes #124
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into long_polling_support

Conflicts:
	CHANGELOG.rdoc
	lib/em-websocket/version.rb