Fix the wrong attention mask in TransformerXL by shifting `mask_shift_len` with 1
# What does this PR do?

In `forward` of TransformerXL, the attention mask `dec_attn_mask` is set up by:
```
dec_attn_mask = (torch.triu(all_ones, 1 + mlen) + torch.tril(all_ones, -mask_shift_len))[:, :,     None]  # -1
```
But I noticed if `mask_shift_len` is zero (while the default memory length equals to the input memory length, which is the most case), it will make `dec_attn_mask[0,:,:]` all 1, which make the model unable to get any attention from the first memory embedding.
I fix this problem by shift `mask_shift_len` with 1.

@patrickvonplaten
Thanks a lot for your PR @tanchihpin0517. @TevenLeScao - could you maybe take a look here, I think you've added this part of the code a while back<|||||>Hey @tanchihpin0517 , if this is correct, I am surprised that it didn't show up in generation before. Have you noticed erroneous generation with TransformerXL in this setting?<|||||>No, it didn't generate an obvious error. It only makes the model ignore the first memory embedding. But in most of cases the length of memory is much longer (more than 64 or 128), so it just generate a tiny effect to the results.<|||||>hi @patrickvonplaten @TevenLeScao , is there any update here? Just remind myself. Thanks.<|||||>@TevenLeScao - could you take a look when you have a moment? Otherwise let me know and I'll try to allocate time<|||||>Sorry, I won't have the time in tge coming weeks, can you take it? I don't remember the code much better than you do anyway <|||||>This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md) are likely to be ignored.