Allow piping data in next tick

This is a fix for https://github.com/mikeal/request/issues/887
In this block we are emitting "data" but also using the pause()/unshift() logic. This might be one of the cases that gets in to trouble on streams2 (but potentially fixed in streams3). Any thoughts @rvagg and @isaacs ?