Add context and protocol options to SocketClient connector

Add an optionnal $context option on SocketClient/Connector
It accepts a valid stream_context_create ressource

This way it's easier to add binding or local certificate on tls

Add also optionnal protocol on create, default is still tcp, but you can use others like udp or tls

Doc updated