Enable custom scan agent tools

Added ability to register custom tools that are automatically available to all scan agents. Tools can be registered globally via `register_agent_tools()` before agents are built, or passed per-agent via the `extra_tools` parameter. The system prevents duplicate tool names and ensures registered tools appear before the agent's lifecycle tool.