socket.readyState, .readable, and .writable behavior changed as a result of the new streaming interfaces. Updated to be backwards compatible with current API and adds regression test. closes #4461