Remove reference to metrics as it is not used anymore
[#1046] Make sure HttpContentEncoder calls ByteBuf.retain() if needed
[#1047] Not process with flush on failure
[#1048] Make sure the promise is not notified multiple times on failure
Fix possible NPE