When client power off directly, the socket is broken and server may
still push messages, which just occurred TCP re-transmission at that
time, instead of raising an error immediately. This delayed the will
message.
Fix NettyAcceptor shutdown: when the event loops take too long to stop, an IllegalStateException is raised. This leads to leaks, and prevents other
parts of the broker to be shut down properly.