Updated ConversationalPipeline to work with encoder-decoder models
# What does this PR do?

This PR extends the capabilities of the existing ConversationalPipeline to work with Encoder Decoder models (such as BlenderBot). 

The pipeline has been modified as follows:
- history generated from concatenation of the inputs to the generated tokens for encoder-decoder (decoders use directly the generated tokens that contain the initial prompt)
- updated the cut-off position for generated tokens (1 for encoder-decoders, `input_length` for decoders)
- updated the clean-up script to remove all `pad_tokens` if `pad_token` != `eos_token`. Otherwise, remove pad_tokens from the second found if `pad_token` and `eos_token` are identical (previous behaviour of the pipeline). This is needed otherwise the models with a specific `eos_token` will keep an unnecessary `pad_token` that affects generation quality for subsequent rounds.

This has been tested with the BlenderBot 90M model (requires https://github.com/huggingface/transformers/pull/8205), producing the following output: https://gist.github.com/guillaume-be/380b98ec1ef91d0f6e3add5914dd92ce

## Who can review?

 Text Generation: @patrickvonplaten, @TevenLeScao
 Blenderbot, Bart, Marian, Pegasus: @sshleifer

> Looks great! Can we maybe add one test with the small `BlenderbotModel` to `/home/patrick/hugging_face/transformers/tests/test_pipelines_conversational.py` ?

Thank you @patrickvonplaten , I added an integration test using BlenderBot 90M.<|||||>Merging, unrelated failure.