Add OpenAI Functions request to ConsoleCallbackHandler
Labels: name: auto:improvement, name: area: models

  - Description:  ConsoleCallbackHandler, the callback used by langchain.debug, logs responses by OpenAI function calling but does not log the `functions` parameter in the request which makes debugging difficult. This PR adds a `functions` key with the functions in the request along side the `prompts` key.
  - Issue: -
  - Dependencies: -
  - Tag maintainer: @agola11
  - Twitter handle: @finnless

The current debug output:
```
[chain/start] [1:chain:AgentExecutor] Entering Chain run with input:
{
  "input": "1 + 1\n"
}
[llm/start] [1:chain:AgentExecutor > 2:llm:AzureChatOpenAI] Entering LLM run with input:
{
  "prompts": [
    "System: You are very powerful assistant, but bad at calculating lengths of words.\nHuman: 1 + 1"
  ]
}
[llm/end] [1:chain:AgentExecutor > 2:llm:AzureChatOpenAI] [1.07s] Exiting LLM run with output:
{
  "generations": [
    [
      {
        "text": "",
        "generation_info": {
          "finish_reason": "function_call"
        },
        "message": {
          "lc": 1,
          "type": "constructor",
          "id": [
            "langchain",
            "schema",
            "messages",
            "AIMessage"
          ],
          "kwargs": {
            "content": "",
            "additional_kwargs": {
              "function_call": {
                "name": "Calculator",
                "arguments": "{\n  \"__arg1\": \"1 + 1\"\n}"
              }
            }
          }
        }
      }
    ]
  ],
  "llm_output": {
    "token_usage": {
      "completion_tokens": 20,
      "prompt_tokens": 70,
      "total_tokens": 90
    },
    "model_name": "gpt-3.5-turbo"
  },
  "run": null
}
```

This PR's debug output with the new "functions" key:
```
[chain/start] [1:chain:AgentExecutor] Entering Chain run with input:
{
  "input": "1 + 1"
}
[llm/start] [1:chain:AgentExecutor > 2:llm:AzureChatOpenAI] Entering LLM run with input:
{
  "prompts": [
    "System: You are very powerful assistant, but bad at calculating lengths of words.\nHuman: 1 + 1"
  ],
  "functions": [
    {
      "name": "Calculator",
      "description": "Useful for when you need to answer questions about math.",
      "parameters": {
        "properties": {
          "__arg1": {
            "title": "__arg1",
            "type": "string"
          }
        },
        "required": [
          "__arg1"
        ],
        "type": "object"
      }
    }
  ]
}
[llm/end] [1:chain:AgentExecutor > 2:llm:AzureChatOpenAI] [1.05s] Exiting LLM run with output:
{
  "generations": [
    [
      {
        "text": "",
        "generation_info": {
          "finish_reason": "function_call"
        },
        "message": {
          "lc": 1,
          "type": "constructor",
          "id": [
            "langchain",
            "schema",
            "messages",
            "AIMessage"
          ],
          "kwargs": {
            "content": "",
            "additional_kwargs": {
              "function_call": {
                "name": "Calculator",
                "arguments": "{\n  \"__arg1\": \"1 + 1\"\n}"
              }
            }
          }
        }
      }
    ]
  ],
  "llm_output": {
    "token_usage": {
      "completion_tokens": 20,
      "prompt_tokens": 69,
      "total_tokens": 89
    },
    "model_name": "gpt-3.5-turbo"
  },
  "run": null
}
```