Server improvements

Hello, first thanks for your library!
We're using it on a project where we have a client and a server side, both using your library.

Our first problem was that we need to pass the protocol we're using to the PSWebSocketServer, as the client displays a list of devices (that are in fact WebSocket servers) that use this protocol, and don't display the others.
Also we need to have the possibility to close a handshake with specific http status codes so the client know why it has been rejected.

So here are the changes we made:
* Add possibility to PSWebSocketServer to be initialized with protocols
* Allow to close a hand shake with a custom status code and description that will be kept in the underlying error generated by PSWebSocketDriver

Tell me if those changes seems good to you!