move socket sending and error emitting to nextTick

this allows .requestStream to setup error handlers and clients to add error handlers in the same tick as a request is made