optimize memory usage of deferred replies
optimize memory usage of deferred replies

When deffered reply is added the previous reply node cannot be used so
all the extra space we allocated in it is wasted. in case someone uses
deffered replies in a loop, each time adding a small reply, each of
these reply nodes (the small string reply) would have consumed a 16k
block.
now when we add anther diferred reply node, we trim the unused portion
of the previous reply block.

see #7123

ofirluzon/redis,PKRoma/redis,yossigo/redis,PKRoma/redis,oranagra/redis,charsyam/redis,ctripcorp/redis,neomantra/redis,ctripcorp/redis,PKRoma/redis,soloestoy/redis,charsyam/redis,neomantra/redis,charsyam/redis,ofirluzon/redis,charsyam/redis,antirez/redis,soloestoy/redis,ofirluzon/redis,yossigo/redis,neomantra/redis,PKRoma/redis,antirez/redis,yossigo/redis,oranagra/redis,oranagra/redis,neomantra/redis,antirez/redis,PKRoma/redis,soloestoy/redis,ctripcorp/redis,ctripcorp/redis,soloestoy/redis,oranagra/redis,antirez/redis,yossigo/redis,soloestoy/redis,ofirluzon/redis,charsyam/redis,neomantra/redis,yossigo/redis,oranagra/redis,ofirluzon/redis