Feature/stream context

Here I added support for stream contexts in  the base class..  The reason for this is to allow you to specify the outgoing IP you are binding to.. This is necessary if you want to use a private network that is isolated on it's own IP address. or if you have firewall rules allowing only specific ip addresses from your server to connect to the instance of redis.

This is important to anyone who uses servers on a network like Softlayer.. where you have a 10.0.0.0  ip address that you use to access other servers on a private network completely separate from the public network.

I did not implement support yet in sessions or arrays... IT makes sense  to implement it there too.. but I wanted to make sure you were receptive to the change before making the change as I don't need it, currently.

I did make the changes necessary in redis_array_impl.c and redis_session.c to deal with the parameter change to redis_sock_create