Pass custom System Message to OpenAI Functions Agent

### System Info

LangChain = 0.0.202
Python = 3.9.16

### Who can help?

_No response_

### Information

- [X] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [X] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [ ] Vector Stores / Retrievers
- [ ] Memory
- [X] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

from langchain import LLMMathChain, OpenAI, SerpAPIWrapper
from langchain.agents import initialize_agent, Tool
from langchain.agents import AgentType
from langchain.agents.agent_toolkits import create_python_agent
from langchain.tools.python.tool import PythonREPLTool
from langchain.callbacks.base import BaseCallbackHandler
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage
from dotenv import load_dotenv
load_dotenv()

llm = ChatOpenAI(
    model="gpt-3.5-turbo-0613",
    temperature=0.0,
    max_tokens=25, 
) # type: ignore

python_agent = create_python_agent(
    llm=llm,
    tool=PythonREPLTool(),
    verbose=True,
    agent_type=AgentType.OPENAI_FUNCTIONS,
    agent_executor_kwargs={"handle_parsing_errors": True},
) # type: ignore
search = SerpAPIWrapper() # type: ignore
llm_math_chain = LLMMathChain.from_llm(llm=llm, verbose=True)
tools = [
    Tool(
        name = "Search",
        func=search.run,
        description="useful for when you need to answer questions about current events or searching the web for additional information. You should ask targeted questions"
    ),
    Tool(
        name="Calculator",
        func=llm_math_chain.run,
        description="useful for when you need to answer questions about math. It's an ordinary calculator"
    ),
    Tool(
        name="PythonREPL",
        func=python_agent.run,
        description="useful for when you need to run python code in a REPL to answer questions, for example for more complex calculations or other code executions necessary to be able to answer correctly. Input should be clear python code, nothing else. You should always use a final print() statement for the final result to be able to read the outputs."
    ),
]
system_message = SystemMessage(
    content="""
    You are a helpful AI assistant. Always respond to the user's input in german.
    """
)
mrkl = initialize_agent(
    tools, 
    llm, 
    agent=AgentType.OPENAI_FUNCTIONS, 
    verbose=True, 
    agent_kwargs={"system_message": system_message},
) # type: ignore
# run the agent
mrkl.run("tell me a joke")

### Expected behavior

The system Message should be passed to the Agent/LLM to make it answer in german, which doesn't happen.

I was able to fix this by passing the system message explicitly to the cls.create_prompt()-function in the OpenAI functions agent class.

In `langchain\agents\openai_functions_agent\base.py` i modified these lines:

line 244:
```
# check if system_message in kwargs and pass it to create_prompt
if "system_message" in kwargs:
    sys_msg = kwargs.pop("system_message", None)
    prompt = cls.create_prompt(system_message=sys_msg)
else:
    prompt = cls.create_prompt()
```