Split the websocket decoding into websocket.c

This make a lot more sense than putting it in client.c I think.
Besides that I also keep a number of header stuff stored in the
websocket struct so it should even work for slow connections. I
did somewhat test this. Previous if I send a 5000+ character string
it wouldn't receive all of that in one call, this seemed to work
just fine now. Still doesn't support the length_code 127 stuff though.

Signed-off-by: Toon Schoenmakers <nighteyes1993@gmail.com>