Better messages for debug state machine
Use proper names for child states
Make it work again in non-threaded mode
Don't talloc_steal the request to the listener
Turn off DEBUG_STATE_MACHINE by default
Re-do state machine to make sense.

The previous code was "interesting", to put it politely.
The new code is logical and clear.