Unify all dream invocations through TaskQueue for exclusivity
Daily and segment dreams previously spawned raw threads via run_task(),
bypassing TaskQueue. This meant they could run concurrently with each
other and with flush/activity/callosum dreams. Now all five dream paths
serialize through TaskQueue by command name, ensuring only one dream
runs at a time regardless of trigger source.
- Remove _run_daily_processing() and _run_segment_processing()
- Route handle_daily_tasks() and _handle_segment_observed() through
_task_queue.submit()
- Drop dead _daily_state keys (dream_running, dream_completed)
- Update tests to use capture_submit pattern instead of internal state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>