Fix `xxx_length` behavior when using XLNet in pipeline
Author: sgugger
Pull request: yes

When using a `pipeline` for text gerenation with XLNet and transformer-XL, the pipeline adds a long prompt at the beginning to help the model. It messes up with `min_length` and `max_length` so I fixed that by adding to those kwargs (if passed) the length of the prompt.

Also made the prompt use the tokenizer eos token instead of putting the three possibilities at the end.

Comments:
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=h1) Report
> Merging [#5319](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/bf0d12c220cfd19025736c488bdabda9efd20b9e&el=desc) will **increase** coverage by `1.33%`.
> The diff coverage is `0.00%`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/5319/graphs/tree.svg?width=650&height=150&src=pr&token=9qOlN6Hb1c)](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #5319      +/-   ##
==========================================
+ Coverage   77.91%   79.24%   +1.33%     
==========================================
  Files         138      138              
  Lines       24284    24290       +6     
==========================================
+ Hits        18920    19249     +329     
+ Misses       5364     5041     -323     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/pipelines.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9waXBlbGluZXMucHk=) | `75.45% <0.00%> (-0.97%)` | :arrow_down: |
| [src/transformers/modeling\_auto.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19hdXRvLnB5) | `70.93% <0.00%> (-3.49%)` | :arrow_down: |
| [src/transformers/trainer.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90cmFpbmVyLnB5) | `38.44% <0.00%> (-0.95%)` | :arrow_down: |
| [src/transformers/modeling\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl91dGlscy5weQ==) | `87.03% <0.00%> (-0.59%)` | :arrow_down: |
| [src/transformers/tokenization\_utils\_base.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fdXRpbHNfYmFzZS5weQ==) | `93.68% <0.00%> (-0.03%)` | :arrow_down: |
| [src/transformers/modeling\_bart.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19iYXJ0LnB5) | `96.33% <0.00%> (ø)` | |
| [src/transformers/configuration\_bart.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2JhcnQucHk=) | `93.75% <0.00%> (ø)` | |
| [src/transformers/data/processors/glue.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9kYXRhL3Byb2Nlc3NvcnMvZ2x1ZS5weQ==) | `49.44% <0.00%> (ø)` | |
| [src/transformers/data/processors/squad.py](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9kYXRhL3Byb2Nlc3NvcnMvc3F1YWQucHk=) | `28.66% <0.00%> (ø)` | |
| ... and [6 more](https://codecov.io/gh/huggingface/transformers/pull/5319/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=footer). Last update [bf0d12c...d3d5d50](https://codecov.io/gh/huggingface/transformers/pull/5319?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Warnings might scare the user that something went wrong, especially as there is no way to remove that behavior in the current API. Maybe documenting it properly is enough?

Merging in the meantime because I need this to write model cards for XLNet.