added function for renaming variables
clever, but some issues

1) the change to the template depends on the format being used (eg what you did is f-string specific)

2) Id also rather do the renaming outside the constructors - eg have the user get the prompt, renaming the variable, then pass it it. will just keep it cleaner/more scalable

i have an idea for how to do this tho! because i do like the idea. so let me take a stab @hwchase17 okay sure, feel free to let me know what to do to save your time implementing, happy either way!
I came into the issue when using the `VectorDBQAWithSourcesChain` that because of the [example prompt](https://github.com/hwchase17/langchain/blob/master/langchain/chains/qa_with_sources/stuff_prompt.py) being used, it meant my source metadata in the vector DB (pinecone) had to be named `"source"`.

I and other users can go back and rename the document IDs, URLs, etc as `"source"` but it seems like an unnecessary restriction. Instead, being able to swap `"source"` for `"url"`, `"filename"`, etc seems like a better solution to me.

With that in mind, I'd like to add a new method to prompt templates called `rename_variable`, which simply takes an existing variable and a new variable name as input, and formats the prompt template to use the new variable name.

In the example of using `VectorDBQAWithSourcesChain`, this looks like:

```python
qa = VectorDBQAWithSourcesChain.from_chain_type(
    llm=llm,
    chain_type='stuff',
    vectorstore=vectorstore
)

qa.combine_documents_chain.document_prompt.rename_variable(
    'source', 'pdf_url'
)
```

And if we view the `qa.combine_documents_chain.document_prompt` we'll see:

```
PromptTemplate(input_variables=['page_content', 'pdf_url'], output_parser=None, partial_variables={}, template='Content: {page_content}\nSource: {pdf_url}', template_format='f-string', validate_template=True)
```

Alternatively, I added a `sources_variable` parameter to the initialization calls for `VectorDBQAWithSourcesChain`, so the following can be run with the same result:

```python
qa = VectorDBQAWithSourcesChain.from_chain_type(
    llm=llm,
    chain_type='stuff',
    vectorstore=vectorstore,
    sources_variable="pdf_url"
)
```