I'm definitely not convinced that this is a good general purpose WebSocketClient.  Originally I wrote it to not use iteratees/enumerators, but then I realised I can just reuse all the Play iteratee stuff if I make it use iteratees.  If we were to make a general purpose WebSocketClient, I think I'd make it based on Akka, and then put iteratees on top of that if they were wanted.

I think it wouldn't hurt to prove at least some parts of this client in our integration tests before making it public API.