Fix HttpClientFactory shutdown to account for the case where the shutdown
may complete on a Netty IO thread.  Netty blocks its own IO threads
from shutting down the ClientSocketChannelFactory, because that call
blocks until all threads have exited, leading to deadlock.

Instead, shutdown the Netty factory from the Scheduled executor.

Added a test for this case.

RB=154752
R=si-dev,ysun
A=dhoa