http: Don't unshift empty bodyHead onto socket

It should only unshift the bodyHead back onto the socket if it's not empty.

I'd like to dig into this deeper and make `stream.unshift(Buffer(0))` a no-op, but that should not be done on a stable branch.

Fixes #5557
Fixes LearnBoost/socket.io#1242