Websocket client

@trustin please review.. basically it make it easy to write WebSocket clients that want to not handle http at all and just are interested in upgrade to WebSocket asap. It also handle control frames and so is rfc compliant