split ISocket into IStreamSocket in preparation for different InProc transport implementation