Workaround for websocket bug

Hi Alex, this patch offers a backward-compatible fix for a bug I have experienced on Mac OS X Maverick.
The bug is a similar flavour of this:

https://github.com/jaspervdj/websockets/issues/48

And was preventing tidal to work correctly, 'cause WS wasn't able to start a server on port 9160 (at least on my machine). The solution is to fail with a meaningful error message and offer the user the possibility to specify a port different from 9160 (which will be used as default instead). Apart from that the rest is just small cleanups and the usual cabal version bump.

HTH!
Alfredo