fix for #50 by adding WebSocketRequest object

The WebSocketStream does now write data to an instance of WebSocketRequest when
"useRequest" is set to "true" in options. This instance is shared through a
"request" event (before "head"). When a frame (stream) has finished the
WebSocketStream will call "request.push(null)" if all data is read from request
this will emit an "end" event which is used to than emit "stream:end".
renamed Request to Incoming, wrote prototype of Outgoing
removed function body of Incoming._read
finalized WebSocketOutgoing with tests
ready to merge
updated documentation
finally got back fully operable chat example

I finally have brought the project so far that it is now possible to send files
(images) through a websocket with sizes up to 6 MB (did not test more) and this
in addition of our new streaming api. This is really great. Furthermore I added
some harder tests for WebSocketStream.
Merge pull request #51 from bodokaiser/request-on-frame

fix for #50 by adding WebSocketRequest object