Extract reasoning_content from litellm response and store it on the
LLM instance so that executors can propagate it into conversation
history as required by the DeepSeek API.
Changes:
- LLM._handle_non_streaming_response: extract reasoning_content from
the response message and store it as self.reasoning_content
- LLM.call: reset reasoning_content at the start of each call
- format_message_for_llm: accept optional reasoning_content param;
include it in assistant messages only
- LLMMessage TypedDict: add reasoning_content field
- CrewAgentExecutor: pass reasoning_content through _append_message
for both sync and async loops (ReAct + native tools)
- AgentExecutor (experimental): same propagation in
_append_message_to_state for native tools path
Tests: 13 new tests covering LLM extraction, format_message_for_llm,
and executor integration.
Co-Authored-By: João <joao@crewai.com>