Refactored impl of setOption
A few design changes since depending on the socket type we need to invert the bind/connect
Removed overload