Adds support for PortableFunctionCallingOptions across AI models

  • Modify FunctionCallingOptions interface to extend ChatOptions for better integration
  • Refactor option handling in chat models to accommodate both ChatOptions and FunctionCallingOptions
  • Implement handling of FunctionCallingOptions in Anthropic, Azure OpenAI, MistralAI, Ollama, OpenAI, VertexAI Gemini, and other models
  • Update existing function calling tests to use new FunctionCallingOptions.

Resolves: #624

Comment From: markpollack

merged in 45c6622736972114fc91fc3bdb6eb283b5eec280