slave: add left-out m_shutdown_timer initialization, and other
  timer management stuff
engine: add accounting logic for shutting down, non-active slaves.
  Otherwise, engine::balance counts shutting down slaves as active,
  therefore it doesn't attempt to increase pool size. However,
  engine::pump doesn't add messages from queue to shutting down
  slaves, so messages remain in queued state indefinitely.