mpm_winnt: Tweak the listener shutdown code to use a separate event instead of the global variable (shutdown_in_progress).
This change has two purposes. First of all, it makes the listener threads which are blocked waiting for a completion context exit immediately during shutdown. Previously, such threads would only check for exit every second. The second reason for this change is to put the child_main() function in charge of controlling the listeners life cycle. Previously, such relation was circumvented by the fact that the listeners were also waiting for the global child exit_event. With the new separate listener_shutdown_event, only the child_main() function is responsible for shutting down the listeners, and I think that this makes the code a bit clearer.
All the original behavior, including the special APLOG_DEBUG diagnostic message when we fail to acquire a free completion context in 1 second, is kept unchanged.