[Bug]: GroupChat cannot run with MCP tool call (async await issue)

### Describe the bug

When I using GroupChat, I want to test it through a python test file. All the initialization worked correctly, but when it start using tool call, it will crash due to `RuntimeError: This event loop is already running`, since I start the test with `asyncio.run()`, causing the event loop already existed.

In the source code of `conversable_agent.py`, the `generate_tool_calls_reply` function is called when using tool call and been programmed in line:2414 to do `_, func_return = loop.run_until_complete(self.a_execute_function(function_call, call_id=tool_call_id))` which will use asyncio to check if there are a event loop running.

Not sure if I am doing it wrong or it is a bug.

Additionally, what does this means? I didn't do any function call manually.
`sys:1: RuntimeWarning: coroutine 'ConversableAgent.a_execute_function' was never awaited`

### Steps to reproduce

Orchestrator.py
```python
class Orchestrator:
    def __init__(self):
        # self.intent_agent = IntentAgent()
        self.planner_agent = PlannerAgent()
        self.blockchain_agent = BlockchainAgent()
        self.user_agent = UserProxyAgent(
            name="user_agent",
            human_input_mode="NEVER",
            code_execution_config = {
                "use_docker": False
            },
        )

    # def classify(self, user_input: str):
    #     intent = self.intent_agent.execute_function("classify", user_input)
    #     return intent

    async def run(self, user_input: str):
        llm_config = Config.get_anthropic_llm_config()
        # server_params = StdioServerParameters(
        #     command="node",  # The command to run the server
        #     args=[
        #         "src/mcp/evm-mcp-server/build/index.js",
        #     ],
        # )
        await self.planner_agent.register_mcp_tools_for_llm("node", ["src/mcp/evm-mcp-server/build/index.js"], mode="stdio")
        await self.blockchain_agent.register_mcp_tools_for_execution("node", ["src/mcp/evm-mcp-server/build/index.js"], mode="stdio")
        logger.info("[Orchestrator] MCP tools registered")
            
        pattern = AutoPattern(
            initial_agent=self.planner_agent,
            agents=[
                self.planner_agent,
                self.blockchain_agent
            ],
            user_agent=self.user_agent,
            group_manager_args = {"llm_config": llm_config},
        )
    
        result, context, last_agent = await a_initiate_group_chat(
            pattern=pattern,
            messages=user_input,
            max_rounds=7
        )

        return result, context, last_agent
```

test_orchestrator.py
```python
async def test_orchestrator():
    orchestrator = Orchestrator()
    user_input = "Do I have 10 DAI on Optimism? My address is 0x1234567890123456789012345678901234567890, I want to send 10 DAI to peter, his address is peter.eth"
    
    result, context, last_agent = await orchestrator.run(user_input)
    print("Result: ", result.summary)

if __name__ == "__main__":
    asyncio.run(test_orchestrator())
```

### Model Used

Antropic sonnet 3.7

### Expected Behavior

Complete a tool call and retrieve the information.

### Screenshots and logs

<img width="1137" alt="Image" src="https://github.com/user-attachments/assets/ccfeef91-2f9e-421c-b812-d0aa987a6f7c" />

Trackback:
```bash
Traceback (most recent call last):
  File "/Users/bbb/Desktop/blockchain-llm-agent/tests/test_orchestrator.py", line 14, in <module>
    asyncio.run(test_orchestrator())
  File "/Users/bbb/.local/share/uv/python/cpython-3.12.9-macos-aarch64-none/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/Users/bbb/.local/share/uv/python/cpython-3.12.9-macos-aarch64-none/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/.local/share/uv/python/cpython-3.12.9-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/tests/test_orchestrator.py", line 10, in test_orchestrator
    result, context, last_agent = await orchestrator.run(user_input)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/src/agent/orchestrator.py", line 58, in run
    result, context, last_agent = await a_initiate_group_chat(
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/group/multi_agent_chat.py", line 134, in a_initiate_group_chat
    chat_result = await last_agent.a_initiate_chat(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/conversable_agent.py", line 1657, in a_initiate_chat
    await self.a_send(msg2send, recipient, silent=silent)
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/conversable_agent.py", line 1206, in a_send
    await recipient.a_receive(message, self, request_reply, silent)
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/conversable_agent.py", line 1303, in a_receive
    reply = await self.a_generate_reply(messages=self.chat_messages[sender], sender=sender)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/conversable_agent.py", line 2898, in a_generate_reply
    final, reply = await reply_func(
                   ^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/groupchat.py", line 1291, in a_run_chat
    reply = await speaker.a_generate_reply(sender=self)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/conversable_agent.py", line 2902, in a_generate_reply
    final, reply = reply_func(self, messages=messages, sender=sender, config=reply_func_tuple["config"])
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/group/group_tool_executor.py", line 166, in _generate_group_tool_reply
    _, tool_message = agent.generate_tool_calls_reply([message_copy])
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/Desktop/blockchain-llm-agent/.venv/lib/python3.12/site-packages/autogen/agentchat/conversable_agent.py", line 2414, in generate_tool_calls_reply
    _, func_return = loop.run_until_complete(self.a_execute_function(function_call, call_id=tool_call_id))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bbb/.local/share/uv/python/cpython-3.12.9-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 667, in run_until_complete
    self._check_running()
  File "/Users/bbb/.local/share/uv/python/cpython-3.12.9-macos-aarch64-none/lib/python3.12/asyncio/base_events.py", line 626, in _check_running
    raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
sys:1: RuntimeWarning: coroutine 'ConversableAgent.a_execute_function' was never awaited
```


### Additional Information

Package Name & Version: "ag2[anthropic,mcp,ollama,openai]>=0.9",
Python Version: requires-python = ">=3.12,<4.0"
Operating System: macOS Sequoia

Labels: bug
State: closed